claude-mpm 4.0.20__tar.gz → 4.0.23__tar.gz
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-4.0.23/BUILD_NUMBER +1 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/PKG-INFO +1 -1
- claude_mpm-4.0.23/VERSION +1 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/pyproject.toml +1 -1
- claude_mpm-4.0.23/src/claude_mpm/BUILD_NUMBER +1 -0
- claude_mpm-4.0.23/src/claude_mpm/VERSION +1 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/agents/INSTRUCTIONS.md +74 -0
- claude_mpm-4.0.23/src/claude_mpm/agents/WORKFLOW.md +440 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/agents/agents_metadata.py +52 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/agents/base_agent_loader.py +75 -19
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/agents/templates/__init__.py +4 -0
- claude_mpm-4.0.23/src/claude_mpm/agents/templates/api_qa.json +206 -0
- claude_mpm-4.0.23/src/claude_mpm/agents/templates/code_analyzer.json +103 -0
- claude_mpm-4.0.23/src/claude_mpm/agents/templates/data_engineer.json +123 -0
- claude_mpm-4.0.23/src/claude_mpm/agents/templates/documentation.json +164 -0
- claude_mpm-4.0.23/src/claude_mpm/agents/templates/engineer.json +145 -0
- claude_mpm-4.0.23/src/claude_mpm/agents/templates/ops.json +120 -0
- claude_mpm-4.0.23/src/claude_mpm/agents/templates/qa.json +139 -0
- claude_mpm-4.0.23/src/claude_mpm/agents/templates/refactoring_engineer.json +244 -0
- claude_mpm-4.0.23/src/claude_mpm/agents/templates/research.json +102 -0
- claude_mpm-4.0.23/src/claude_mpm/agents/templates/security.json +126 -0
- claude_mpm-4.0.23/src/claude_mpm/agents/templates/ticketing.json +169 -0
- claude_mpm-4.0.23/src/claude_mpm/agents/templates/vercel_ops_agent.json +281 -0
- claude_mpm-4.0.23/src/claude_mpm/agents/templates/vercel_ops_instructions.md +582 -0
- claude_mpm-4.0.23/src/claude_mpm/agents/templates/version_control.json +121 -0
- claude_mpm-4.0.23/src/claude_mpm/agents/templates/web_ui.json +176 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/cli/commands/mcp_command_router.py +87 -1
- claude_mpm-4.0.23/src/claude_mpm/cli/commands/mcp_install_commands.py +258 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/cli/parsers/mcp_parser.py +23 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/constants.py +1 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/base_service.py +7 -1
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/config.py +64 -39
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/framework_loader.py +100 -37
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/interactive_session.py +28 -17
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/scripts/socketio_daemon.py +67 -7
- claude_mpm-4.0.23/src/claude_mpm/scripts/socketio_daemon_hardened.py +897 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/agent_deployment.py +65 -3
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/async_agent_deployment.py +65 -1
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/memory/agent_memory_manager.py +42 -203
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/memory_hook_service.py +62 -4
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/runner_configuration_service.py +5 -9
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/socketio/server/broadcaster.py +32 -1
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/socketio/server/core.py +4 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/socketio/server/main.py +23 -4
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm.egg-info/PKG-INFO +1 -1
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm.egg-info/SOURCES.txt +4 -0
- claude_mpm-4.0.20/BUILD_NUMBER +0 -1
- claude_mpm-4.0.20/VERSION +0 -1
- claude_mpm-4.0.20/src/claude_mpm/BUILD_NUMBER +0 -1
- claude_mpm-4.0.20/src/claude_mpm/VERSION +0 -1
- claude_mpm-4.0.20/src/claude_mpm/agents/WORKFLOW.md +0 -136
- claude_mpm-4.0.20/src/claude_mpm/agents/templates/code_analyzer.json +0 -103
- claude_mpm-4.0.20/src/claude_mpm/agents/templates/data_engineer.json +0 -123
- claude_mpm-4.0.20/src/claude_mpm/agents/templates/documentation.json +0 -137
- claude_mpm-4.0.20/src/claude_mpm/agents/templates/engineer.json +0 -145
- claude_mpm-4.0.20/src/claude_mpm/agents/templates/ops.json +0 -120
- claude_mpm-4.0.20/src/claude_mpm/agents/templates/qa.json +0 -139
- claude_mpm-4.0.20/src/claude_mpm/agents/templates/refactoring_engineer.json +0 -222
- claude_mpm-4.0.20/src/claude_mpm/agents/templates/research.json +0 -94
- claude_mpm-4.0.20/src/claude_mpm/agents/templates/security.json +0 -126
- claude_mpm-4.0.20/src/claude_mpm/agents/templates/ticketing.json +0 -156
- claude_mpm-4.0.20/src/claude_mpm/agents/templates/version_control.json +0 -121
- claude_mpm-4.0.20/src/claude_mpm/agents/templates/web_ui.json +0 -176
- claude_mpm-4.0.20/src/claude_mpm/cli/commands/mcp_install_commands.py +0 -77
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/CLAUDE.md +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/LICENSE +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/MANIFEST.in +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/README.md +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/requirements.txt +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/scripts/ticket +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/setup.cfg +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/setup.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/__main__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/agents/BASE_AGENT_TEMPLATE.md +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/agents/BASE_PM.md +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/agents/MEMORY.md +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/agents/OUTPUT_STYLE.md +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/agents/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/agents/agent-template.yaml +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/agents/agent_loader.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/agents/agent_loader_integration.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/agents/async_agent_loader.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/agents/backups/INSTRUCTIONS.md +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/agents/base_agent.json +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/agents/frontmatter_validator.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/agents/schema/agent_schema.json +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/agents/system_agent_config.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/agents/templates/backup/data_engineer_agent_20250726_234551.json +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/agents/templates/backup/documentation_agent_20250726_234551.json +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/agents/templates/backup/engineer_agent_20250726_234551.json +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/agents/templates/backup/ops_agent_20250726_234551.json +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/agents/templates/backup/qa_agent_20250726_234551.json +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/agents/templates/backup/research_agent_2025011_234551.json +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/agents/templates/backup/research_agent_20250726_234551.json +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/agents/templates/backup/research_memory_efficient.json +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/agents/templates/backup/security_agent_20250726_234551.json +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/agents/templates/backup/version_control_agent_20250726_234551.json +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/agents/templates/memory_manager.json +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/agents/templates/project_organizer.json +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/agents/templates/web_qa.json +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/cli/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/cli/__main__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/cli/commands/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/cli/commands/agents.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/cli/commands/aggregate.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/cli/commands/cleanup.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/cli/commands/config.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/cli/commands/info.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/cli/commands/mcp.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/cli/commands/mcp_config_commands.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/cli/commands/mcp_server_commands.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/cli/commands/mcp_tool_commands.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/cli/commands/memory.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/cli/commands/monitor.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/cli/commands/run.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/cli/commands/run_config_checker.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/cli/commands/socketio_monitor.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/cli/commands/tickets.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/cli/parser.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/cli/parsers/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/cli/parsers/agents_parser.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/cli/parsers/base_parser.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/cli/parsers/config_parser.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/cli/parsers/memory_parser.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/cli/parsers/monitor_parser.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/cli/parsers/run_parser.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/cli/parsers/tickets_parser.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/cli/ticket_cli.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/cli/utils.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/cli_module/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/cli_module/args.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/cli_module/commands.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/cli_module/migration_example.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/config/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/config/agent_config.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/config/experimental_features.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/config/paths.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/config/socketio_config.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/agent_name_normalizer.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/agent_registry.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/agent_session_manager.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/cache.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/claude_runner.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/config_aliases.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/config_constants.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/constants.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/container.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/exceptions.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/factories.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/hook_manager.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/hook_performance_config.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/injectable_service.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/interfaces.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/lazy.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/logger.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/logging_config.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/minimal_framework_loader.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/mixins.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/oneshot_session.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/optimized_agent_loader.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/optimized_startup.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/output_style_manager.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/pm_hook_interceptor.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/service_registry.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/session_manager.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/socketio_pool.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/tool_access_control.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/types.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/typing_utils.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/unified_agent_registry.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/unified_config.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/core/unified_paths.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/index.html +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/open_dashboard.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/built/components/agent-inference.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/built/components/event-processor.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/built/components/event-viewer.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/built/components/export-manager.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/built/components/file-tool-tracker.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/built/components/hud-library-loader.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/built/components/hud-manager.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/built/components/hud-visualizer.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/built/components/module-viewer.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/built/components/session-manager.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/built/components/socket-manager.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/built/components/ui-state-manager.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/built/components/working-directory.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/built/dashboard.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/built/socket-client.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/css/dashboard.css +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/dist/components/agent-inference.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/dist/components/event-processor.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/dist/components/event-viewer.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/dist/components/export-manager.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/dist/components/file-tool-tracker.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/dist/components/hud-library-loader.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/dist/components/hud-manager.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/dist/components/hud-visualizer.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/dist/components/module-viewer.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/dist/components/session-manager.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/dist/components/socket-manager.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/dist/components/ui-state-manager.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/dist/components/working-directory.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/dist/dashboard.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/dist/socket-client.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/js/components/agent-inference.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/js/components/event-processor.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/js/components/event-viewer.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/js/components/export-manager.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/js/components/file-tool-tracker.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/js/components/hud-library-loader.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/js/components/hud-manager.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/js/components/hud-visualizer.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/js/components/module-viewer.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/js/components/session-manager.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/js/components/socket-manager.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/js/components/ui-state-manager.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/js/components/working-directory.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/js/dashboard.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/js/extension-error-handler.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/static/js/socket-client.js +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/templates/index.html +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/dashboard/test_dashboard.html +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/experimental/cli_enhancements.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/generators/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/generators/agent_profile_generator.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/hooks/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/hooks/base_hook.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/hooks/claude_hooks/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/hooks/claude_hooks/connection_pool.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/hooks/claude_hooks/event_handlers.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/hooks/claude_hooks/hook_handler.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/hooks/claude_hooks/hook_wrapper.sh +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/hooks/claude_hooks/memory_integration.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/hooks/claude_hooks/response_tracking.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/hooks/claude_hooks/tool_analysis.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/hooks/memory_integration_hook.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/hooks/tool_call_interceptor.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/hooks/validation_hooks.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/init.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/models/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/models/agent_definition.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/models/agent_session.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/scripts/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/scripts/mcp_server.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/scripts/mcp_wrapper.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/scripts/socketio_server_manager.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/scripts/start_activity_logging.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agent_capabilities_service.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/agent_config_provider.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/agent_configuration_manager.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/agent_definition_factory.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/agent_discovery_service.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/agent_environment_manager.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/agent_filesystem_manager.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/agent_format_converter.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/agent_frontmatter_validator.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/agent_metrics_collector.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/agent_restore_handler.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/agent_template_builder.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/agent_validator.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/agent_version_manager.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/agent_versioning.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/agents_directory_resolver.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/config/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/config/deployment_config.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/config/deployment_config_manager.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/deployment_config_loader.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/deployment_type_detector.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/facade/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/facade/async_deployment_executor.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/facade/deployment_executor.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/facade/deployment_facade.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/facade/sync_deployment_executor.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/interface_adapter.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/lifecycle_health_checker.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/lifecycle_performance_tracker.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/multi_source_deployment_service.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/pipeline/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_builder.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_context.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_executor.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/pipeline/steps/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/pipeline/steps/agent_processing_step.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/pipeline/steps/base_step.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/pipeline/steps/configuration_step.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/pipeline/steps/target_directory_step.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/pipeline/steps/validation_step.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/processors/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/processors/agent_deployment_context.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/processors/agent_deployment_result.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/processors/agent_processor.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/results/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/results/deployment_metrics.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/results/deployment_result_builder.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/strategies/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/strategies/base_strategy.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/strategies/project_strategy.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/strategies/strategy_selector.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/strategies/system_strategy.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/strategies/user_strategy.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/system_instructions_deployer.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/validation/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/validation/agent_validator.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/validation/deployment_validator.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/validation/template_validator.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/deployment/validation/validation_result.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/loading/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/loading/agent_profile_loader.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/loading/base_agent_manager.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/loading/framework_agent_loader.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/management/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/management/agent_capabilities_generator.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/management/agent_management_service.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/memory/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/memory/agent_persistence_service.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/memory/content_manager.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/memory/template_generator.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/registry/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/registry/deployed_agent_discovery.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/agents/registry/modification_tracker.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/async_session_logger.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/claude_session_logger.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/command_handler_service.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/communication/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/core/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/core/base.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/core/interfaces/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/core/interfaces/agent.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/core/interfaces/communication.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/core/interfaces/infrastructure.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/core/interfaces/service.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/core/interfaces.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/event_aggregator.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/exceptions.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/framework_claude_md_generator/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/framework_claude_md_generator/content_assembler.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/framework_claude_md_generator/content_validator.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/framework_claude_md_generator/deployment_manager.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/framework_claude_md_generator/section_generators/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/framework_claude_md_generator/section_generators/agents.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/framework_claude_md_generator/section_generators/claude_pm_init.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/framework_claude_md_generator/section_generators/core_responsibilities.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/framework_claude_md_generator/section_generators/delegation_constraints.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/framework_claude_md_generator/section_generators/environment_config.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/framework_claude_md_generator/section_generators/footer.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/framework_claude_md_generator/section_generators/header.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/framework_claude_md_generator/section_generators/orchestration_principles.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/framework_claude_md_generator/section_generators/role_designation.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/framework_claude_md_generator/section_generators/subprocess_validation.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/framework_claude_md_generator/section_generators/todo_task_tools.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/framework_claude_md_generator/section_generators/troubleshooting.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/framework_claude_md_generator/section_manager.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/framework_claude_md_generator/version_manager.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/hook_service.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/infrastructure/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/infrastructure/context_preservation.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/infrastructure/daemon_manager.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/infrastructure/logging.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/infrastructure/monitoring.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/mcp_gateway/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/mcp_gateway/config/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/mcp_gateway/config/config_loader.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/mcp_gateway/config/config_schema.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/mcp_gateway/config/configuration.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/mcp_gateway/core/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/mcp_gateway/core/base.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/mcp_gateway/core/exceptions.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/mcp_gateway/core/interfaces.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/mcp_gateway/core/singleton_manager.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/mcp_gateway/core/startup_verification.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/mcp_gateway/main.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/mcp_gateway/registry/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/mcp_gateway/registry/service_registry.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/mcp_gateway/registry/tool_registry.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/mcp_gateway/server/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/mcp_gateway/server/mcp_gateway.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/mcp_gateway/server/stdio_handler.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/mcp_gateway/server/stdio_server.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/mcp_gateway/tools/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/mcp_gateway/tools/base_adapter.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/mcp_gateway/tools/document_summarizer.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/mcp_gateway/tools/health_check_tool.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/mcp_gateway/tools/hello_world.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/mcp_gateway/tools/ticket_tools.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/mcp_gateway/tools/unified_ticket_tool.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/memory/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/memory/builder.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/memory/cache/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/memory/cache/shared_prompt_cache.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/memory/cache/simple_cache.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/memory/indexed_memory.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/memory/optimizer.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/memory/router.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/port_manager.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/project/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/project/analyzer.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/project/registry.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/recovery_manager.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/response_tracker.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/session_management_service.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/socketio/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/socketio/client_proxy.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/socketio/handlers/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/socketio/handlers/base.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/socketio/handlers/connection.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/socketio/handlers/file.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/socketio/handlers/git.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/socketio/handlers/hook.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/socketio/handlers/memory.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/socketio/handlers/project.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/socketio/handlers/registry.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/socketio/server/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/socketio_client_manager.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/socketio_server.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/subprocess_launcher_service.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/system_instructions_service.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/ticket_manager.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/utility_service.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/version_control/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/version_control/branch_strategy.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/version_control/conflict_resolution.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/version_control/git_operations.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/version_control/semantic_versioning.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/version_control/version_parser.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/services/version_service.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/storage/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/storage/state_storage.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/ticket_wrapper.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/utils/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/utils/agent_dependency_loader.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/utils/config_manager.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/utils/console.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/utils/dependency_cache.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/utils/dependency_manager.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/utils/dependency_strategies.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/utils/environment_context.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/utils/error_handler.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/utils/file_utils.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/utils/framework_detection.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/utils/import_migration_example.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/utils/imports.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/utils/path_operations.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/utils/robust_installer.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/utils/session_logging.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/utils/subprocess_utils.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/validation/__init__.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/validation/agent_validator.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm/validation/frontmatter_validator.py +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm.egg-info/dependency_links.txt +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm.egg-info/entry_points.txt +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm.egg-info/requires.txt +0 -0
- {claude_mpm-4.0.20 → claude_mpm-4.0.23}/src/claude_mpm.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
291
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
4.0.23
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
290
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
4.0.23
|
|
@@ -177,6 +177,80 @@ PM: "Understood. Since you've explicitly requested I handle this directly, I'll
|
|
|
177
177
|
*Now PM can use implementation tools*
|
|
178
178
|
```
|
|
179
179
|
|
|
180
|
+
## Intelligent QA Agent Selection
|
|
181
|
+
|
|
182
|
+
When entering Phase 3 (Quality Assurance), analyze the implementation context to select the appropriate QA agent:
|
|
183
|
+
|
|
184
|
+
### QA Type Detection Protocol
|
|
185
|
+
|
|
186
|
+
**Analyze implementation context for QA routing**:
|
|
187
|
+
|
|
188
|
+
1. **Backend/API Indicators → Use API QA Agent**:
|
|
189
|
+
- Keywords: API, endpoint, route, REST, GraphQL, server, backend, auth, database
|
|
190
|
+
- Files: `/api`, `/routes`, `/controllers`, `/services` directories
|
|
191
|
+
- Extensions: `.py` (FastAPI/Flask), `.js` (Express), `.go`, `.java`
|
|
192
|
+
- Patterns: Database models, auth middleware, API documentation
|
|
193
|
+
|
|
194
|
+
2. **Frontend/Web Indicators → Use Web QA Agent**:
|
|
195
|
+
- Keywords: web, UI, page, frontend, browser, component, responsive, accessibility
|
|
196
|
+
- Files: `/components`, `/pages`, `/views`, `/public` directories
|
|
197
|
+
- Extensions: `.jsx`, `.tsx`, `.vue`, `.svelte`, `.html`, `.css`
|
|
198
|
+
- Patterns: React/Vue components, CSS changes, static assets
|
|
199
|
+
|
|
200
|
+
3. **Mixed Implementation → Sequential QA**:
|
|
201
|
+
- Run API QA first for backend validation
|
|
202
|
+
- Then Web QA for frontend integration
|
|
203
|
+
- Finally coordinate results for full coverage
|
|
204
|
+
|
|
205
|
+
4. **Neither → Use General QA Agent**:
|
|
206
|
+
- CLI tools, libraries, utilities, scripts
|
|
207
|
+
- Non-web, non-API code changes
|
|
208
|
+
|
|
209
|
+
### QA Handoff Patterns
|
|
210
|
+
|
|
211
|
+
**Engineer → API QA**:
|
|
212
|
+
```
|
|
213
|
+
Engineer: "Implemented REST API endpoints for user management with JWT authentication"
|
|
214
|
+
PM: "I'll delegate to the API QA agent to validate the REST endpoints and authentication flow."
|
|
215
|
+
Task to API QA: "Test the newly implemented user management REST API endpoints including JWT authentication, CRUD operations, and error handling."
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
**Web UI → Web QA**:
|
|
219
|
+
```
|
|
220
|
+
Web UI: "Created responsive checkout flow with form validation"
|
|
221
|
+
PM: "I'll delegate to the Web QA agent to test the checkout flow across browsers."
|
|
222
|
+
Task to Web QA: "Validate the responsive checkout flow including form validation, browser compatibility, and accessibility compliance."
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
**Engineer → API QA → Web QA (Full-stack)**:
|
|
226
|
+
```
|
|
227
|
+
Engineer: "Implemented complete user authentication with backend API and React frontend"
|
|
228
|
+
PM: "I'll coordinate testing with both API QA and Web QA agents sequentially."
|
|
229
|
+
Task to API QA: "Test authentication API endpoints, JWT flow, and database operations."
|
|
230
|
+
[After API QA completion]
|
|
231
|
+
Task to Web QA: "Test login UI, form validation, and session management in browsers."
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
### TodoWrite Patterns for QA Coordination
|
|
235
|
+
|
|
236
|
+
**API Testing Tasks**:
|
|
237
|
+
- `[PM] Route to API QA for REST endpoint validation`
|
|
238
|
+
- `[API QA] Test user management REST endpoints for CRUD operations`
|
|
239
|
+
- `[API QA] Validate JWT authentication and authorization flow`
|
|
240
|
+
- `[API QA] Load test payment processing endpoints`
|
|
241
|
+
|
|
242
|
+
**Web Testing Tasks**:
|
|
243
|
+
- `[PM] Route to Web QA for browser-based testing`
|
|
244
|
+
- `[Web QA] Test responsive checkout flow in Chrome/Firefox/Safari`
|
|
245
|
+
- `[Web QA] Validate WCAG 2.1 accessibility compliance`
|
|
246
|
+
- `[Web QA] Test React component rendering and state management`
|
|
247
|
+
|
|
248
|
+
**Full-Stack Testing Tasks**:
|
|
249
|
+
- `[PM] Coordinate sequential QA for authentication feature`
|
|
250
|
+
- `[API QA] Validate backend auth API (Phase 1 of 2)`
|
|
251
|
+
- `[Web QA] Test frontend login UI (Phase 2 of 2)`
|
|
252
|
+
- `[PM] Synthesize QA results from API and Web testing`
|
|
253
|
+
|
|
180
254
|
## Memory-Conscious Delegation
|
|
181
255
|
|
|
182
256
|
<!-- MEMORY WARNING: Claude Code retains all file contents read during execution -->
|
|
@@ -0,0 +1,440 @@
|
|
|
1
|
+
<!-- WORKFLOW_VERSION: 0002 -->
|
|
2
|
+
<!-- LAST_MODIFIED: 2025-01-14T18:30:00Z -->
|
|
3
|
+
|
|
4
|
+
# PM Workflow Configuration
|
|
5
|
+
|
|
6
|
+
## Mandatory Workflow Sequence
|
|
7
|
+
|
|
8
|
+
**STRICT PHASES - MUST FOLLOW IN ORDER**:
|
|
9
|
+
|
|
10
|
+
### Phase 1: Research (ALWAYS FIRST)
|
|
11
|
+
- Analyze requirements and gather context
|
|
12
|
+
- Investigate existing patterns and architecture
|
|
13
|
+
- Identify constraints and dependencies
|
|
14
|
+
- Output feeds directly to implementation phase
|
|
15
|
+
|
|
16
|
+
### Phase 2: Implementation (AFTER Research)
|
|
17
|
+
- Engineer Agent for code implementation
|
|
18
|
+
- Data Engineer Agent for data pipelines/ETL
|
|
19
|
+
- Security Agent for security implementations
|
|
20
|
+
- Ops Agent for infrastructure/deployment
|
|
21
|
+
|
|
22
|
+
### Phase 3: Quality Assurance (AFTER Implementation)
|
|
23
|
+
|
|
24
|
+
**Intelligent QA Agent Selection**:
|
|
25
|
+
|
|
26
|
+
The PM must analyze the implementation context to route to the appropriate QA agent based on a comprehensive decision tree. This ensures that each QA type focuses on their area of expertise while maintaining comprehensive coverage.
|
|
27
|
+
|
|
28
|
+
#### QA Agent Types and Capabilities
|
|
29
|
+
|
|
30
|
+
1. **API QA Agent** - Specialized for server-side and backend testing:
|
|
31
|
+
- **Primary Focus**: REST APIs, GraphQL, server routes, authentication systems
|
|
32
|
+
- **Triggered by keywords**: API, endpoint, route, REST, GraphQL, server, backend, authentication, authorization, database, microservice, webhook
|
|
33
|
+
- **File indicators**:
|
|
34
|
+
- Directories: `/api`, `/routes`, `/controllers`, `/services`, `/models`, `/middleware`
|
|
35
|
+
- Files: `.py` (FastAPI/Flask/Django), `.js/.ts` (Express/NestJS), `.go`, `.java`, `.php`, `.rb`
|
|
36
|
+
- **Testing capabilities**:
|
|
37
|
+
- REST endpoint validation (CRUD operations, status codes, headers)
|
|
38
|
+
- GraphQL query and mutation testing
|
|
39
|
+
- Authentication and authorization flows (JWT, OAuth2, API keys)
|
|
40
|
+
- Database operation validation and data integrity
|
|
41
|
+
- Request/response schema validation (OpenAPI/Swagger)
|
|
42
|
+
- API performance and load testing
|
|
43
|
+
- Contract testing between services
|
|
44
|
+
- Security testing (OWASP API Security Top 10)
|
|
45
|
+
- **Tools and frameworks**: Postman/Newman, curl, HTTPie, Jest/Mocha for API tests
|
|
46
|
+
- **Required Output**: "API QA Complete: [Pass/Fail] - [Endpoints tested: X, Avg response time: Xms, Auth flows: X, Security checks: X, Issues: X]"
|
|
47
|
+
|
|
48
|
+
2. **Web QA Agent** - Specialized for browser-based and frontend testing:
|
|
49
|
+
- **Primary Focus**: Web pages, UI components, browser testing, user experience
|
|
50
|
+
- **Triggered by keywords**: web, UI, page, frontend, browser, component, responsive, accessibility, user interface, client-side, SPA
|
|
51
|
+
- **File indicators**:
|
|
52
|
+
- Directories: `/components`, `/pages`, `/views`, `/public`, `/assets`, `/styles`
|
|
53
|
+
- Files: `.jsx/.tsx` (React), `.vue` (Vue.js), `.svelte`, `.html`, `.css/.scss`, `.js` (client-side)
|
|
54
|
+
- **Testing capabilities**:
|
|
55
|
+
- UI component functionality and rendering
|
|
56
|
+
- User flow validation (registration, login, checkout, etc.)
|
|
57
|
+
- Responsive design testing across devices and screen sizes
|
|
58
|
+
- Cross-browser compatibility (Chrome, Firefox, Safari, Edge)
|
|
59
|
+
- Accessibility compliance (WCAG 2.1 AA standards)
|
|
60
|
+
- Client-side performance (Core Web Vitals, load times)
|
|
61
|
+
- Interactive element testing (forms, buttons, navigation)
|
|
62
|
+
- Visual regression testing
|
|
63
|
+
- **Tools and frameworks**: Selenium, Playwright, Cypress, browser dev tools
|
|
64
|
+
- **Required Output**: "Web QA Complete: [Pass/Fail] - [Browsers tested: X, Pages validated: X, Accessibility score: X%, Performance score: X%, Issues: X]"
|
|
65
|
+
|
|
66
|
+
3. **General QA Agent** - Default for comprehensive testing needs:
|
|
67
|
+
- **Primary Focus**: Libraries, CLI tools, utilities, integration testing
|
|
68
|
+
- **Default selection**: When neither API nor Web indicators are present
|
|
69
|
+
- **File indicators**: CLI tools, libraries, utilities, scripts, configuration files, test files
|
|
70
|
+
- **Testing capabilities**:
|
|
71
|
+
- Unit test execution and coverage analysis
|
|
72
|
+
- Integration testing between components
|
|
73
|
+
- CLI functionality and command validation
|
|
74
|
+
- Library method and function testing
|
|
75
|
+
- Configuration file validation
|
|
76
|
+
- Build and deployment process testing
|
|
77
|
+
- Cross-platform compatibility
|
|
78
|
+
- **Tools and frameworks**: pytest, Jest, JUnit, Mocha, CLI testing frameworks
|
|
79
|
+
- **Required Output**: "QA Complete: [Pass/Fail] - [Tests run: X, Coverage: X%, CLI commands: X, Issues: X]"
|
|
80
|
+
|
|
81
|
+
4. **Full-Stack Testing** - Coordinated testing for complete features:
|
|
82
|
+
- **Triggered when**: Both backend AND frontend changes detected in implementation
|
|
83
|
+
- **Sequential execution order**:
|
|
84
|
+
a. **First: API QA** validates backend functionality and data flows
|
|
85
|
+
b. **Then: Web QA** validates frontend integration and user experience
|
|
86
|
+
c. **Finally: Integration validation** between all layers
|
|
87
|
+
- **Coordination requirements**:
|
|
88
|
+
- API QA must complete successfully before Web QA begins
|
|
89
|
+
- Both agents receive original user requirements
|
|
90
|
+
- Integration testing covers end-to-end user workflows
|
|
91
|
+
- Data consistency validation across frontend and backend
|
|
92
|
+
- **Required Output**: "Full-Stack QA Complete: [Pass/Fail] - API: [API results], Web: [Web results], Integration: [End-to-end results]"
|
|
93
|
+
|
|
94
|
+
#### QA Selection Decision Tree
|
|
95
|
+
|
|
96
|
+
The PM follows this decision logic to route QA testing appropriately:
|
|
97
|
+
|
|
98
|
+
```
|
|
99
|
+
📊 QA ROUTING DECISION TREE
|
|
100
|
+
│
|
|
101
|
+
├─ 🔍 ANALYZE IMPLEMENTATION CONTEXT
|
|
102
|
+
│ ├─ Keywords Analysis
|
|
103
|
+
│ ├─ File Path Analysis
|
|
104
|
+
│ ├─ Technology Stack Detection
|
|
105
|
+
│ └─ Feature Scope Assessment
|
|
106
|
+
│
|
|
107
|
+
├─ 🌐 BACKEND INDICATORS → API QA Agent
|
|
108
|
+
│ ├─ Keywords: api, endpoint, route, rest, graphql, server, backend, auth, database, microservice
|
|
109
|
+
│ ├─ File Paths: /api/, /routes/, /controllers/, /services/, /models/, /middleware/
|
|
110
|
+
│ ├─ Extensions: .py, .js/.ts (server), .go, .java, .php, .rb
|
|
111
|
+
│ ├─ Content: @app.route, router.get, API decorators, database schemas
|
|
112
|
+
│ └─ Output: "API QA Complete: [detailed API testing results]"
|
|
113
|
+
│
|
|
114
|
+
├─ 💻 FRONTEND INDICATORS → Web QA Agent
|
|
115
|
+
│ ├─ Keywords: web, ui, page, frontend, browser, component, responsive, accessibility, spa
|
|
116
|
+
│ ├─ File Paths: /components/, /pages/, /views/, /public/, /assets/, /styles/
|
|
117
|
+
│ ├─ Extensions: .jsx/.tsx, .vue, .svelte, .html, .css/.scss, .js (client)
|
|
118
|
+
│ ├─ Content: React components, Vue templates, CSS frameworks, client-side logic
|
|
119
|
+
│ └─ Output: "Web QA Complete: [detailed UI/UX testing results]"
|
|
120
|
+
│
|
|
121
|
+
├─ 🔄 FULL-STACK INDICATORS → Sequential QA (API → Web)
|
|
122
|
+
│ ├─ Mixed Context: Both backend AND frontend changes
|
|
123
|
+
│ ├─ User Stories: End-to-end feature requirements
|
|
124
|
+
│ ├─ Integration: Frontend consumes backend APIs
|
|
125
|
+
│ ├─ Execution: API QA first, then Web QA, then integration validation
|
|
126
|
+
│ └─ Output: "Full-Stack QA Complete: [combined testing results]"
|
|
127
|
+
│
|
|
128
|
+
└─ ⚙️ DEFAULT → General QA Agent
|
|
129
|
+
├─ No specific indicators detected
|
|
130
|
+
├─ CLI tools, libraries, utilities
|
|
131
|
+
├─ Configuration files, scripts
|
|
132
|
+
├─ Pure logic/algorithm implementations
|
|
133
|
+
└─ Output: "QA Complete: [general testing results]"
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
**Detailed Detection Logic**:
|
|
137
|
+
|
|
138
|
+
```
|
|
139
|
+
Backend Indicators → Route to API QA:
|
|
140
|
+
- API route definitions (e.g., @app.route, router.get, @api.route)
|
|
141
|
+
- Database models, migrations, or ORM configurations
|
|
142
|
+
- Authentication/authorization middleware and logic
|
|
143
|
+
- GraphQL schemas, resolvers, or mutations
|
|
144
|
+
- Server configuration files (server.js, app.py, main.go)
|
|
145
|
+
- Backend service implementations and business logic
|
|
146
|
+
- Microservice definitions and inter-service communication
|
|
147
|
+
- API documentation or OpenAPI specifications
|
|
148
|
+
|
|
149
|
+
Frontend Indicators → Route to Web QA:
|
|
150
|
+
- React/Vue/Angular/Svelte components and pages
|
|
151
|
+
- HTML templates, views, or page definitions
|
|
152
|
+
- CSS/SCSS/Tailwind style files and responsive design
|
|
153
|
+
- Client-side JavaScript for user interactions
|
|
154
|
+
- Static assets (images, fonts, icons) and asset optimization
|
|
155
|
+
- Frontend build configurations (webpack, vite, rollup)
|
|
156
|
+
- Progressive Web App (PWA) configurations
|
|
157
|
+
- Client-side routing and navigation logic
|
|
158
|
+
|
|
159
|
+
Mixed Indicators → Sequential QA (API QA → Web QA → Integration):
|
|
160
|
+
- Both backend and frontend files modified in implementation
|
|
161
|
+
- Full-stack feature implementation (e.g., auth system, e-commerce)
|
|
162
|
+
- End-to-end user stories spanning multiple layers
|
|
163
|
+
- Features requiring backend API and frontend UI coordination
|
|
164
|
+
- Real-time features (WebSocket, SSE) with client-server interaction
|
|
165
|
+
- Data flow from database through API to user interface
|
|
166
|
+
|
|
167
|
+
Default Indicators → General QA:
|
|
168
|
+
- CLI tools and command-line applications
|
|
169
|
+
- Libraries, utilities, and helper functions
|
|
170
|
+
- Configuration file processing
|
|
171
|
+
- Data processing scripts and algorithms
|
|
172
|
+
- Testing frameworks and test utilities
|
|
173
|
+
- Build tools and automation scripts
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
#### Practical Usage Examples
|
|
177
|
+
|
|
178
|
+
**Example 1: API Implementation**
|
|
179
|
+
```
|
|
180
|
+
User Request: "Create a REST API for user management with CRUD operations"
|
|
181
|
+
Engineer Output: "Implemented FastAPI endpoints in /api/users.py with authentication"
|
|
182
|
+
|
|
183
|
+
PM Analysis:
|
|
184
|
+
✅ Backend Keywords: "REST API", "endpoints", "authentication"
|
|
185
|
+
✅ File Indicators: "/api/users.py"
|
|
186
|
+
✅ Technology: FastAPI (Python backend)
|
|
187
|
+
|
|
188
|
+
PM Decision: Route to API QA Agent
|
|
189
|
+
API QA Tasks:
|
|
190
|
+
- Test GET /users (list users)
|
|
191
|
+
- Test POST /users (create user)
|
|
192
|
+
- Test PUT /users/{id} (update user)
|
|
193
|
+
- Test DELETE /users/{id} (delete user)
|
|
194
|
+
- Validate authentication headers
|
|
195
|
+
- Check error responses (400, 401, 404, 500)
|
|
196
|
+
- Verify response schemas match OpenAPI spec
|
|
197
|
+
- Performance test with 100 concurrent requests
|
|
198
|
+
|
|
199
|
+
API QA Output: "API QA Complete: Pass - [Endpoints tested: 4, Avg response time: 45ms, Auth flows: 2, Security checks: 3, Issues: 0]"
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
**Example 2: Web UI Implementation**
|
|
203
|
+
```
|
|
204
|
+
User Request: "Build a responsive dashboard with charts and user profile"
|
|
205
|
+
Web UI Output: "Created React dashboard in /components/Dashboard.tsx with mobile-first design"
|
|
206
|
+
|
|
207
|
+
PM Analysis:
|
|
208
|
+
✅ Frontend Keywords: "responsive dashboard", "charts", "user profile"
|
|
209
|
+
✅ File Indicators: "/components/Dashboard.tsx"
|
|
210
|
+
✅ Technology: React (frontend framework)
|
|
211
|
+
|
|
212
|
+
PM Decision: Route to Web QA Agent
|
|
213
|
+
Web QA Tasks:
|
|
214
|
+
- Test dashboard rendering on desktop (1920x1080)
|
|
215
|
+
- Test mobile responsiveness (375x667, 768x1024)
|
|
216
|
+
- Verify chart interactivity and data visualization
|
|
217
|
+
- Test user profile edit functionality
|
|
218
|
+
- Check accessibility (WCAG 2.1 AA compliance)
|
|
219
|
+
- Cross-browser testing (Chrome, Firefox, Safari)
|
|
220
|
+
- Measure Core Web Vitals (LCP, FID, CLS)
|
|
221
|
+
|
|
222
|
+
Web QA Output: "Web QA Complete: Pass - [Browsers tested: 3, Pages validated: 2, Accessibility score: 95%, Performance score: 88%, Issues: 1 minor]"
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
**Example 3: Full-Stack Feature**
|
|
226
|
+
```
|
|
227
|
+
User Request: "Implement complete authentication system with login UI and JWT backend"
|
|
228
|
+
Engineer Output: "Built auth API in /api/auth.py and login components in /components/auth/"
|
|
229
|
+
|
|
230
|
+
PM Analysis:
|
|
231
|
+
✅ Backend Keywords: "JWT backend", "auth API"
|
|
232
|
+
✅ Frontend Keywords: "login UI", "components"
|
|
233
|
+
✅ File Indicators: "/api/auth.py", "/components/auth/"
|
|
234
|
+
✅ Full-Stack Feature: Both backend and frontend implementation
|
|
235
|
+
|
|
236
|
+
PM Decision: Sequential QA (API QA → Web QA → Integration)
|
|
237
|
+
|
|
238
|
+
Phase 1 - API QA:
|
|
239
|
+
- Test POST /auth/login endpoint
|
|
240
|
+
- Test POST /auth/register endpoint
|
|
241
|
+
- Test JWT token generation and validation
|
|
242
|
+
- Test protected endpoint access with tokens
|
|
243
|
+
- Verify password hashing and security
|
|
244
|
+
|
|
245
|
+
API QA Output: "API QA Complete: Pass - [Endpoints tested: 3, Auth flows: 2, Security checks: 5, Issues: 0]"
|
|
246
|
+
|
|
247
|
+
Phase 2 - Web QA:
|
|
248
|
+
- Test login form submission and validation
|
|
249
|
+
- Test registration form with field validation
|
|
250
|
+
- Test token storage and automatic logout
|
|
251
|
+
- Test protected route navigation
|
|
252
|
+
- Test error handling for invalid credentials
|
|
253
|
+
|
|
254
|
+
Web QA Output: "Web QA Complete: Pass - [Forms tested: 2, User flows: 3, Error states: 4, Issues: 0]"
|
|
255
|
+
|
|
256
|
+
Phase 3 - Integration:
|
|
257
|
+
- Test end-to-end user registration flow
|
|
258
|
+
- Test login → protected page access flow
|
|
259
|
+
- Test token refresh and session management
|
|
260
|
+
- Test logout and token cleanup
|
|
261
|
+
|
|
262
|
+
PM Final Output: "Full-Stack QA Complete: Pass - API: [3 endpoints validated], Web: [2 forms tested], Integration: [E2E flows working]"
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
**Example 4: CLI Tool Implementation**
|
|
266
|
+
```
|
|
267
|
+
User Request: "Create a command-line tool for file processing"
|
|
268
|
+
Engineer Output: "Built CLI tool in /src/file_processor.py with argparse"
|
|
269
|
+
|
|
270
|
+
PM Analysis:
|
|
271
|
+
❌ No Backend API Keywords
|
|
272
|
+
❌ No Frontend UI Keywords
|
|
273
|
+
✅ Default Indicators: CLI tool, file processing, Python script
|
|
274
|
+
|
|
275
|
+
PM Decision: Route to General QA Agent
|
|
276
|
+
General QA Tasks:
|
|
277
|
+
- Test CLI commands with various arguments
|
|
278
|
+
- Test file input/output operations
|
|
279
|
+
- Test error handling for invalid files
|
|
280
|
+
- Test cross-platform compatibility
|
|
281
|
+
- Verify help documentation and usage
|
|
282
|
+
|
|
283
|
+
General QA Output: "QA Complete: Pass - [CLI commands: 5, File operations: 3, Error cases: 4, Issues: 0]"
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
**CRITICAL Requirements**:
|
|
287
|
+
- QA Agent MUST receive original user instructions for context
|
|
288
|
+
- Validation against acceptance criteria defined in user request
|
|
289
|
+
- Edge case testing and error scenarios for robust implementation
|
|
290
|
+
- Performance and security validation where applicable
|
|
291
|
+
- Clear, standardized output format for tracking and reporting
|
|
292
|
+
|
|
293
|
+
### Phase 4: Documentation (ONLY after QA sign-off)
|
|
294
|
+
- API documentation updates
|
|
295
|
+
- User guides and tutorials
|
|
296
|
+
- Architecture documentation
|
|
297
|
+
- Release notes
|
|
298
|
+
|
|
299
|
+
**Override Commands** (user must explicitly state):
|
|
300
|
+
- "Skip workflow" - bypass standard sequence
|
|
301
|
+
- "Go directly to [phase]" - jump to specific phase
|
|
302
|
+
- "No QA needed" - skip quality assurance
|
|
303
|
+
- "Emergency fix" - bypass research phase
|
|
304
|
+
|
|
305
|
+
## Enhanced Task Delegation Format
|
|
306
|
+
|
|
307
|
+
```
|
|
308
|
+
Task: <Specific, measurable action>
|
|
309
|
+
Agent: <Specialized Agent Name>
|
|
310
|
+
Context:
|
|
311
|
+
Goal: <Business outcome and success criteria>
|
|
312
|
+
Inputs: <Files, data, dependencies, previous outputs>
|
|
313
|
+
Acceptance Criteria:
|
|
314
|
+
- <Objective test 1>
|
|
315
|
+
- <Objective test 2>
|
|
316
|
+
Constraints:
|
|
317
|
+
Performance: <Speed, memory, scalability requirements>
|
|
318
|
+
Style: <Coding standards, formatting, conventions>
|
|
319
|
+
Security: <Auth, validation, compliance requirements>
|
|
320
|
+
Timeline: <Deadlines, milestones>
|
|
321
|
+
Priority: <Critical|High|Medium|Low>
|
|
322
|
+
Dependencies: <Prerequisite tasks or external requirements>
|
|
323
|
+
Risk Factors: <Potential issues and mitigation strategies>
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
### QA Agent Selection Logic
|
|
327
|
+
|
|
328
|
+
When delegating QA tasks, the PM must intelligently select the appropriate QA agent based on implementation context:
|
|
329
|
+
|
|
330
|
+
```python
|
|
331
|
+
# Pseudo-code for QA agent selection
|
|
332
|
+
def select_qa_agent(implementation_context, available_agents):
|
|
333
|
+
backend_keywords = ['api', 'endpoint', 'route', 'rest', 'graphql',
|
|
334
|
+
'server', 'backend', 'auth', 'database', 'service']
|
|
335
|
+
frontend_keywords = ['web', 'ui', 'page', 'frontend', 'browser',
|
|
336
|
+
'component', 'responsive', 'accessibility', 'react', 'vue']
|
|
337
|
+
|
|
338
|
+
context_lower = implementation_context.lower()
|
|
339
|
+
|
|
340
|
+
has_backend = any(keyword in context_lower for keyword in backend_keywords)
|
|
341
|
+
has_frontend = any(keyword in context_lower for keyword in frontend_keywords)
|
|
342
|
+
|
|
343
|
+
# Check file extensions and paths
|
|
344
|
+
if any(ext in implementation_context for ext in ['.py', '.go', '.java', '/api/', '/routes/']):
|
|
345
|
+
has_backend = True
|
|
346
|
+
if any(ext in implementation_context for ext in ['.jsx', '.tsx', '.vue', '/components/', '/pages/']):
|
|
347
|
+
has_frontend = True
|
|
348
|
+
|
|
349
|
+
# Determine QA agent(s) to use
|
|
350
|
+
if has_backend and has_frontend:
|
|
351
|
+
return ['api_qa', 'web_qa'] # Sequential testing for full-stack
|
|
352
|
+
elif has_backend and 'api_qa' in available_agents:
|
|
353
|
+
return ['api_qa']
|
|
354
|
+
elif has_frontend and 'web_qa' in available_agents:
|
|
355
|
+
return ['web_qa']
|
|
356
|
+
else:
|
|
357
|
+
return ['qa'] # Default general QA
|
|
358
|
+
|
|
359
|
+
# Example usage in delegation
|
|
360
|
+
selected_qa = select_qa_agent(engineer_output, deployed_agents)
|
|
361
|
+
for qa_agent in selected_qa:
|
|
362
|
+
delegate_to(qa_agent, original_requirements)
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
### Research-First Scenarios
|
|
366
|
+
|
|
367
|
+
Delegate to Research when:
|
|
368
|
+
- Codebase analysis required
|
|
369
|
+
- Technical approach unclear
|
|
370
|
+
- Integration requirements unknown
|
|
371
|
+
- Standards/patterns need identification
|
|
372
|
+
- Architecture decisions needed
|
|
373
|
+
- Domain knowledge required
|
|
374
|
+
|
|
375
|
+
### Ticketing Agent Integration
|
|
376
|
+
|
|
377
|
+
**ALWAYS delegate to Ticketing Agent when user mentions:**
|
|
378
|
+
- "ticket", "tickets", "ticketing"
|
|
379
|
+
- "epic", "epics"
|
|
380
|
+
- "issue", "issues"
|
|
381
|
+
- "task tracking", "task management"
|
|
382
|
+
- "project documentation"
|
|
383
|
+
- "work breakdown"
|
|
384
|
+
- "user stories"
|
|
385
|
+
|
|
386
|
+
**AUTOMATIC TICKETING WORKFLOW** (when ticketing is requested):
|
|
387
|
+
|
|
388
|
+
#### Session Initialization
|
|
389
|
+
1. **Single Session Work**: Create an ISS (Issue) ticket for the session
|
|
390
|
+
- Title: Clear description of user's request
|
|
391
|
+
- Parent: Attach to appropriate existing epic or create new one
|
|
392
|
+
- Status: Set to "in_progress"
|
|
393
|
+
|
|
394
|
+
2. **Multi-Session Work**: Create an EP (Epic) ticket
|
|
395
|
+
- Title: High-level objective
|
|
396
|
+
- Create first ISS (Issue) for current session
|
|
397
|
+
- Attach session issue to the epic
|
|
398
|
+
|
|
399
|
+
#### Phase Tracking
|
|
400
|
+
After EACH workflow phase completion, delegate to Ticketing Agent to:
|
|
401
|
+
|
|
402
|
+
1. **Create TSK (Task) ticket** for the completed phase:
|
|
403
|
+
- **Research Phase**: TSK ticket with research findings
|
|
404
|
+
- **Implementation Phase**: TSK ticket with code changes summary
|
|
405
|
+
- **QA Phase**: TSK ticket with test results
|
|
406
|
+
- **Documentation Phase**: TSK ticket with docs created/updated
|
|
407
|
+
|
|
408
|
+
2. **Update parent ISS ticket** with:
|
|
409
|
+
- Comment summarizing phase completion
|
|
410
|
+
- Link to the created TSK ticket
|
|
411
|
+
- Update status if needed
|
|
412
|
+
|
|
413
|
+
3. **Task Ticket Content** should include:
|
|
414
|
+
- Agent that performed the work
|
|
415
|
+
- Summary of what was accomplished
|
|
416
|
+
- Key decisions or findings
|
|
417
|
+
- Files modified or created
|
|
418
|
+
- Any blockers or issues encountered
|
|
419
|
+
|
|
420
|
+
#### Continuous Updates
|
|
421
|
+
- **After significant changes**: Add comment to relevant ticket
|
|
422
|
+
- **When blockers arise**: Update ticket status to "blocked" with explanation
|
|
423
|
+
- **On completion**: Update ISS ticket to "done" with final summary
|
|
424
|
+
|
|
425
|
+
#### Ticket Hierarchy Example
|
|
426
|
+
```
|
|
427
|
+
EP-0001: Authentication System Overhaul (Epic)
|
|
428
|
+
└── ISS-0001: Implement OAuth2 Support (Session Issue)
|
|
429
|
+
├── TSK-0001: Research OAuth2 patterns and existing auth (Research Agent)
|
|
430
|
+
├── TSK-0002: Implement OAuth2 provider integration (Engineer Agent)
|
|
431
|
+
├── TSK-0003: Test OAuth2 implementation (QA Agent)
|
|
432
|
+
└── TSK-0004: Document OAuth2 setup and API (Documentation Agent)
|
|
433
|
+
```
|
|
434
|
+
|
|
435
|
+
The Ticketing Agent specializes in:
|
|
436
|
+
- Creating and managing epics, issues, and tasks
|
|
437
|
+
- Generating structured project documentation
|
|
438
|
+
- Breaking down work into manageable pieces
|
|
439
|
+
- Tracking project progress and dependencies
|
|
440
|
+
- Maintaining clear audit trail of all work performed
|
|
@@ -75,6 +75,56 @@ QA_CONFIG = {
|
|
|
75
75
|
},
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
+
# API QA Agent Metadata
|
|
79
|
+
API_QA_CONFIG = {
|
|
80
|
+
"name": "api_qa_agent",
|
|
81
|
+
"version": "1.0.0",
|
|
82
|
+
"type": "core_agent",
|
|
83
|
+
"capabilities": [
|
|
84
|
+
"rest_api_testing",
|
|
85
|
+
"graphql_testing",
|
|
86
|
+
"endpoint_validation",
|
|
87
|
+
"authentication_testing",
|
|
88
|
+
"authorization_testing",
|
|
89
|
+
"contract_testing",
|
|
90
|
+
"load_testing",
|
|
91
|
+
"api_performance_testing",
|
|
92
|
+
],
|
|
93
|
+
"primary_interface": "api_testing_framework",
|
|
94
|
+
"performance_targets": {
|
|
95
|
+
"endpoint_validation": "2m",
|
|
96
|
+
"auth_flow_testing": "5m",
|
|
97
|
+
"load_testing": "10m",
|
|
98
|
+
"contract_validation": "5m",
|
|
99
|
+
"response_time_target": "200ms",
|
|
100
|
+
},
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
# Web QA Agent Metadata
|
|
104
|
+
WEB_QA_CONFIG = {
|
|
105
|
+
"name": "web_qa_agent",
|
|
106
|
+
"version": "1.0.0",
|
|
107
|
+
"type": "core_agent",
|
|
108
|
+
"capabilities": [
|
|
109
|
+
"browser_automation",
|
|
110
|
+
"e2e_testing",
|
|
111
|
+
"ui_testing",
|
|
112
|
+
"responsive_testing",
|
|
113
|
+
"accessibility_testing",
|
|
114
|
+
"cross_browser_testing",
|
|
115
|
+
"performance_testing",
|
|
116
|
+
"visual_regression",
|
|
117
|
+
],
|
|
118
|
+
"primary_interface": "browser_testing_framework",
|
|
119
|
+
"performance_targets": {
|
|
120
|
+
"e2e_test_suite": "15m",
|
|
121
|
+
"accessibility_audit": "5m",
|
|
122
|
+
"cross_browser_test": "20m",
|
|
123
|
+
"page_load_target": "2.5s",
|
|
124
|
+
"lighthouse_score": "90",
|
|
125
|
+
},
|
|
126
|
+
}
|
|
127
|
+
|
|
78
128
|
# Research Agent Metadata
|
|
79
129
|
RESEARCH_CONFIG = {
|
|
80
130
|
"name": "research_agent",
|
|
@@ -218,6 +268,8 @@ ALL_AGENT_CONFIGS = {
|
|
|
218
268
|
"documentation": DOCUMENTATION_CONFIG,
|
|
219
269
|
"version_control": VERSION_CONTROL_CONFIG,
|
|
220
270
|
"qa": QA_CONFIG,
|
|
271
|
+
"api_qa": API_QA_CONFIG,
|
|
272
|
+
"web_qa": WEB_QA_CONFIG,
|
|
221
273
|
"research": RESEARCH_CONFIG,
|
|
222
274
|
"ops": OPS_CONFIG,
|
|
223
275
|
"security": SECURITY_CONFIG,
|