claude-mpm 4.0.31__tar.gz → 4.0.32__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.32/BUILD_NUMBER +1 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/PKG-INFO +1 -1
- claude_mpm-4.0.32/VERSION +1 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/pyproject.toml +2 -2
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/BASE_AGENT_TEMPLATE.md +33 -25
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/INSTRUCTIONS.md +14 -10
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/framework_loader.py +99 -29
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/agent_deployment.py +65 -2
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/system_instructions_deployer.py +72 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/memory/agent_memory_manager.py +141 -184
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/memory/content_manager.py +83 -126
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/memory/template_generator.py +4 -40
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm.egg-info/PKG-INFO +1 -1
- claude_mpm-4.0.31/BUILD_NUMBER +0 -1
- claude_mpm-4.0.31/VERSION +0 -1
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/CLAUDE.md +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/LICENSE +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/MANIFEST.in +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/README.md +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/scripts/ticket +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/setup.cfg +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/BUILD_NUMBER +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/VERSION +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/__main__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/BASE_PM.md +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/MEMORY.md +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/OUTPUT_STYLE.md +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/WORKFLOW.md +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/agent-template.yaml +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/agent_loader.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/agent_loader_integration.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/agents_metadata.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/async_agent_loader.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/backups/INSTRUCTIONS.md +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/base_agent.json +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/base_agent_loader.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/frontmatter_validator.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/schema/agent_schema.json +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/system_agent_config.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/templates/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/templates/agent-manager.json +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/templates/agent-manager.md +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/templates/api_qa.json +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/templates/backup/data_engineer_agent_20250726_234551.json +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/templates/backup/documentation_agent_20250726_234551.json +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/templates/backup/engineer_agent_20250726_234551.json +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/templates/backup/ops_agent_20250726_234551.json +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/templates/backup/qa_agent_20250726_234551.json +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/templates/backup/research_agent_2025011_234551.json +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/templates/backup/research_agent_20250726_234551.json +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/templates/backup/research_memory_efficient.json +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/templates/backup/security_agent_20250726_234551.json +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/templates/backup/version_control_agent_20250726_234551.json +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/templates/code_analyzer.json +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/templates/data_engineer.json +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/templates/documentation.json +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/templates/engineer.json +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/templates/memory_manager.json +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/templates/ops.json +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/templates/project_organizer.json +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/templates/qa.json +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/templates/refactoring_engineer.json +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/templates/research.json +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/templates/security.json +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/templates/ticketing.json +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/templates/vercel_ops_agent.json +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/templates/vercel_ops_instructions.md +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/templates/version_control.json +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/templates/web_qa.json +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/agents/templates/web_ui.json +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/__main__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/commands/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/commands/agent_manager.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/commands/agents.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/commands/aggregate.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/commands/cleanup.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/commands/config.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/commands/doctor.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/commands/info.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/commands/mcp.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/commands/mcp_command_router.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/commands/mcp_config_commands.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/commands/mcp_install_commands.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/commands/mcp_server_commands.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/commands/mcp_tool_commands.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/commands/memory.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/commands/monitor.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/commands/run.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/commands/run_config_checker.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/commands/socketio_monitor.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/commands/tickets.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/parser.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/parsers/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/parsers/agent_manager_parser.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/parsers/agents_parser.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/parsers/base_parser.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/parsers/config_parser.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/parsers/mcp_parser.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/parsers/memory_parser.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/parsers/monitor_parser.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/parsers/run_parser.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/parsers/tickets_parser.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/shared/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/shared/argument_patterns.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/shared/base_command.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/shared/error_handling.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/shared/output_formatters.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/startup_logging.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/ticket_cli.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli/utils.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli_module/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli_module/args.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli_module/commands.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/cli_module/migration_example.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/config/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/config/agent_config.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/config/experimental_features.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/config/paths.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/config/socketio_config.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/constants.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/agent_name_normalizer.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/agent_registry.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/agent_session_manager.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/base_service.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/cache.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/claude_runner.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/config.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/config_aliases.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/config_constants.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/constants.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/container.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/exceptions.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/factories.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/hook_manager.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/hook_performance_config.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/injectable_service.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/interactive_session.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/interfaces.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/lazy.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/logger.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/logging_config.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/minimal_framework_loader.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/mixins.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/oneshot_session.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/optimized_agent_loader.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/optimized_startup.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/output_style_manager.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/pm_hook_interceptor.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/service_registry.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/session_manager.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/shared/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/shared/config_loader.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/shared/path_resolver.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/shared/singleton_manager.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/socketio_pool.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/tool_access_control.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/types.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/typing_utils.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/unified_agent_registry.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/unified_config.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/core/unified_paths.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/index.html +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/open_dashboard.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/built/components/agent-inference.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/built/components/event-processor.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/built/components/event-viewer.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/built/components/export-manager.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/built/components/file-tool-tracker.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/built/components/hud-library-loader.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/built/components/hud-manager.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/built/components/hud-visualizer.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/built/components/module-viewer.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/built/components/session-manager.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/built/components/socket-manager.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/built/components/ui-state-manager.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/built/components/working-directory.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/built/dashboard.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/built/socket-client.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/css/dashboard.css +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/dist/components/agent-inference.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/dist/components/event-processor.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/dist/components/event-viewer.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/dist/components/export-manager.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/dist/components/file-tool-tracker.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/dist/components/hud-library-loader.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/dist/components/hud-manager.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/dist/components/hud-visualizer.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/dist/components/module-viewer.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/dist/components/session-manager.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/dist/components/socket-manager.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/dist/components/ui-state-manager.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/dist/components/working-directory.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/dist/dashboard.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/dist/socket-client.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/js/components/agent-inference.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/js/components/event-processor.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/js/components/event-viewer.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/js/components/export-manager.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/js/components/file-tool-tracker.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/js/components/hud-library-loader.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/js/components/hud-manager.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/js/components/hud-visualizer.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/js/components/module-viewer.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/js/components/session-manager.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/js/components/socket-manager.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/js/components/ui-state-manager.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/js/components/working-directory.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/js/dashboard.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/js/extension-error-handler.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/static/js/socket-client.js +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/templates/index.html +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/dashboard/test_dashboard.html +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/experimental/cli_enhancements.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/generators/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/generators/agent_profile_generator.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/hooks/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/hooks/base_hook.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/hooks/claude_hooks/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/hooks/claude_hooks/connection_pool.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/hooks/claude_hooks/event_handlers.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/hooks/claude_hooks/hook_handler.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/hooks/claude_hooks/hook_wrapper.sh +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/hooks/claude_hooks/memory_integration.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/hooks/claude_hooks/response_tracking.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/hooks/claude_hooks/tool_analysis.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/hooks/memory_integration_hook.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/hooks/tool_call_interceptor.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/hooks/validation_hooks.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/init.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/models/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/models/agent_definition.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/models/agent_session.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/scripts/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/scripts/mcp_server.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/scripts/mcp_wrapper.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/scripts/socketio_daemon.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/scripts/socketio_daemon_hardened.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/scripts/socketio_server_manager.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/scripts/start_activity_logging.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agent_capabilities_service.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/agent_builder.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/agent_config_provider.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/agent_configuration_manager.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/agent_definition_factory.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/agent_discovery_service.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/agent_environment_manager.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/agent_filesystem_manager.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/agent_format_converter.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/agent_frontmatter_validator.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/agent_metrics_collector.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/agent_restore_handler.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/agent_template_builder.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/agent_validator.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/agent_version_manager.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/agent_versioning.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/agents_directory_resolver.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/async_agent_deployment.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/config/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/config/deployment_config.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/config/deployment_config_manager.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/deployment_config_loader.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/deployment_type_detector.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/deployment_wrapper.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/facade/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/facade/async_deployment_executor.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/facade/deployment_executor.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/facade/deployment_facade.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/facade/sync_deployment_executor.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/interface_adapter.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/lifecycle_health_checker.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/lifecycle_performance_tracker.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/multi_source_deployment_service.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/pipeline/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_builder.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_context.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_executor.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/pipeline/steps/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/pipeline/steps/agent_processing_step.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/pipeline/steps/base_step.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/pipeline/steps/configuration_step.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/pipeline/steps/target_directory_step.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/pipeline/steps/validation_step.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/processors/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/processors/agent_deployment_context.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/processors/agent_deployment_result.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/processors/agent_processor.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/results/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/results/deployment_metrics.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/results/deployment_result_builder.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/strategies/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/strategies/base_strategy.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/strategies/project_strategy.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/strategies/strategy_selector.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/strategies/system_strategy.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/strategies/user_strategy.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/validation/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/validation/agent_validator.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/validation/deployment_validator.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/validation/template_validator.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/deployment/validation/validation_result.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/loading/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/loading/agent_profile_loader.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/loading/base_agent_manager.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/loading/framework_agent_loader.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/management/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/management/agent_capabilities_generator.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/management/agent_management_service.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/memory/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/memory/agent_persistence_service.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/registry/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/registry/deployed_agent_discovery.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/agents/registry/modification_tracker.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/async_session_logger.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/claude_session_logger.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/command_handler_service.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/communication/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/core/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/core/base.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/core/interfaces/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/core/interfaces/agent.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/core/interfaces/communication.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/core/interfaces/infrastructure.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/core/interfaces/service.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/core/interfaces.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/diagnostics/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/diagnostics/checks/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/diagnostics/checks/agent_check.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/diagnostics/checks/base_check.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/diagnostics/checks/claude_desktop_check.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/diagnostics/checks/common_issues_check.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/diagnostics/checks/configuration_check.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/diagnostics/checks/filesystem_check.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/diagnostics/checks/installation_check.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/diagnostics/checks/mcp_check.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/diagnostics/checks/monitor_check.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/diagnostics/checks/startup_log_check.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/diagnostics/diagnostic_runner.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/diagnostics/doctor_reporter.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/diagnostics/models.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/event_aggregator.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/exceptions.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/framework_claude_md_generator/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/framework_claude_md_generator/content_assembler.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/framework_claude_md_generator/content_validator.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/framework_claude_md_generator/deployment_manager.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/framework_claude_md_generator/section_generators/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/framework_claude_md_generator/section_generators/agents.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/framework_claude_md_generator/section_generators/claude_pm_init.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/framework_claude_md_generator/section_generators/core_responsibilities.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/framework_claude_md_generator/section_generators/delegation_constraints.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/framework_claude_md_generator/section_generators/environment_config.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/framework_claude_md_generator/section_generators/footer.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/framework_claude_md_generator/section_generators/header.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/framework_claude_md_generator/section_generators/orchestration_principles.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/framework_claude_md_generator/section_generators/role_designation.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/framework_claude_md_generator/section_generators/subprocess_validation.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/framework_claude_md_generator/section_generators/todo_task_tools.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/framework_claude_md_generator/section_generators/troubleshooting.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/framework_claude_md_generator/section_manager.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/framework_claude_md_generator/version_manager.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/hook_service.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/infrastructure/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/infrastructure/context_preservation.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/infrastructure/daemon_manager.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/infrastructure/logging.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/infrastructure/monitoring.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/mcp_gateway/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/mcp_gateway/config/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/mcp_gateway/config/config_loader.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/mcp_gateway/config/config_schema.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/mcp_gateway/config/configuration.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/mcp_gateway/core/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/mcp_gateway/core/base.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/mcp_gateway/core/exceptions.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/mcp_gateway/core/interfaces.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/mcp_gateway/core/singleton_manager.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/mcp_gateway/core/startup_verification.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/mcp_gateway/main.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/mcp_gateway/registry/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/mcp_gateway/registry/service_registry.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/mcp_gateway/registry/tool_registry.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/mcp_gateway/server/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/mcp_gateway/server/mcp_gateway.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/mcp_gateway/server/stdio_handler.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/mcp_gateway/server/stdio_server.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/mcp_gateway/tools/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/mcp_gateway/tools/base_adapter.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/mcp_gateway/tools/document_summarizer.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/mcp_gateway/tools/health_check_tool.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/mcp_gateway/tools/hello_world.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/mcp_gateway/tools/ticket_tools.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/mcp_gateway/tools/unified_ticket_tool.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/memory/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/memory/builder.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/memory/cache/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/memory/cache/shared_prompt_cache.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/memory/cache/simple_cache.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/memory/indexed_memory.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/memory/optimizer.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/memory/router.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/memory_hook_service.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/port_manager.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/project/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/project/analyzer.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/project/registry.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/recovery_manager.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/response_tracker.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/runner_configuration_service.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/session_management_service.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/shared/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/shared/async_service_base.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/shared/config_service_base.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/shared/lifecycle_service_base.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/shared/manager_base.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/shared/service_factory.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/socketio/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/socketio/client_proxy.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/socketio/handlers/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/socketio/handlers/base.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/socketio/handlers/connection.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/socketio/handlers/file.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/socketio/handlers/git.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/socketio/handlers/hook.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/socketio/handlers/memory.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/socketio/handlers/project.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/socketio/handlers/registry.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/socketio/server/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/socketio/server/broadcaster.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/socketio/server/core.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/socketio/server/main.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/socketio_client_manager.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/socketio_server.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/subprocess_launcher_service.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/system_instructions_service.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/ticket_manager.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/utility_service.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/version_control/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/version_control/branch_strategy.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/version_control/conflict_resolution.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/version_control/git_operations.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/version_control/semantic_versioning.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/version_control/version_parser.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/services/version_service.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/storage/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/storage/state_storage.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/ticket_wrapper.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/utils/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/utils/agent_dependency_loader.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/utils/config_manager.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/utils/console.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/utils/dependency_cache.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/utils/dependency_manager.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/utils/dependency_strategies.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/utils/environment_context.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/utils/error_handler.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/utils/file_utils.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/utils/framework_detection.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/utils/import_migration_example.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/utils/imports.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/utils/path_operations.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/utils/robust_installer.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/utils/session_logging.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/utils/subprocess_utils.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/validation/__init__.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/validation/agent_validator.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm/validation/frontmatter_validator.py +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm.egg-info/SOURCES.txt +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm.egg-info/dependency_links.txt +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm.egg-info/entry_points.txt +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm.egg-info/requires.txt +0 -0
- {claude_mpm-4.0.31 → claude_mpm-4.0.32}/src/claude_mpm.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
294
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
4.0.32
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "claude-mpm"
|
|
7
|
-
version = "4.0.
|
|
7
|
+
version = "4.0.32"
|
|
8
8
|
description = "Claude Multi-Agent Project Manager - Orchestrate Claude with agent delegation and ticket tracking"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.8"
|
|
@@ -183,7 +183,7 @@ asyncio_mode = "auto"
|
|
|
183
183
|
|
|
184
184
|
[tool.commitizen]
|
|
185
185
|
name = "cz_conventional_commits"
|
|
186
|
-
version = "4.0.
|
|
186
|
+
version = "4.0.32"
|
|
187
187
|
version_files = [
|
|
188
188
|
"VERSION",
|
|
189
189
|
"src/claude_mpm/VERSION",
|
|
@@ -76,23 +76,26 @@ End every response with this structured data:
|
|
|
76
76
|
|
|
77
77
|
**Memory Guidelines:**
|
|
78
78
|
- The `remember` field should contain a list of strings or `null`
|
|
79
|
-
- Only
|
|
80
|
-
-
|
|
81
|
-
-
|
|
82
|
-
- Memories
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
-
|
|
88
|
-
-
|
|
89
|
-
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
-
|
|
95
|
-
-
|
|
79
|
+
- Only capture memories when:
|
|
80
|
+
- You discover SPECIFIC facts, files, or code patterns not easily determined from codebase/docs
|
|
81
|
+
- User explicitly instructs you to remember ("remember", "don't forget", "memorize")
|
|
82
|
+
- Memories should be PROJECT-based only, never user-specific
|
|
83
|
+
- Each memory should be concise and specific (under 100 characters)
|
|
84
|
+
- When memories change, include MEMORIES section in response with complete optimized set
|
|
85
|
+
|
|
86
|
+
**What to capture:**
|
|
87
|
+
- Undocumented configuration details or requirements
|
|
88
|
+
- Non-obvious project conventions or patterns
|
|
89
|
+
- Critical integration points or dependencies
|
|
90
|
+
- Specific version requirements or constraints
|
|
91
|
+
- Hidden or hard-to-find implementation details
|
|
92
|
+
|
|
93
|
+
**What NOT to capture:**
|
|
94
|
+
- Information easily found in documentation
|
|
95
|
+
- Standard programming practices
|
|
96
|
+
- Obvious project structure or file locations
|
|
97
|
+
- Temporary task-specific details
|
|
98
|
+
- User preferences or personal information
|
|
96
99
|
|
|
97
100
|
## Quick Reference
|
|
98
101
|
|
|
@@ -153,17 +156,22 @@ Always prefix tasks with your agent name:
|
|
|
153
156
|
- **completed**: Finished successfully
|
|
154
157
|
- **BLOCKED**: Include reason for blockage
|
|
155
158
|
|
|
156
|
-
## Memory Protocol
|
|
159
|
+
## Memory Response Protocol
|
|
157
160
|
|
|
158
|
-
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
161
|
+
When you update memories, include a MEMORIES section in your response:
|
|
162
|
+
```json
|
|
163
|
+
{
|
|
164
|
+
"task": "Description of task",
|
|
165
|
+
"results": "What was accomplished",
|
|
166
|
+
"MEMORIES": [
|
|
167
|
+
"Complete list of all memories including new ones",
|
|
168
|
+
"Each memory as a separate string",
|
|
169
|
+
"Optimized and deduplicated"
|
|
170
|
+
]
|
|
171
|
+
}
|
|
164
172
|
```
|
|
165
173
|
|
|
166
|
-
|
|
174
|
+
Only include MEMORIES section when memories actually change.
|
|
167
175
|
|
|
168
176
|
## Remember
|
|
169
177
|
You're a specialist in your domain. Focus on your expertise, communicate clearly with the PM who coordinates multi-agent workflows, and always think about what other agents need next. Your accumulated memories help you become more effective over time.
|
|
@@ -108,18 +108,22 @@ When completing tasks, all agents should structure their responses with:
|
|
|
108
108
|
**Key Changes**:
|
|
109
109
|
- <change 1>
|
|
110
110
|
- <change 2>
|
|
111
|
-
**Remember**: <list of
|
|
111
|
+
**Remember**: <list of project-specific learnings, or null if none>
|
|
112
112
|
- Format: ["Learning 1", "Learning 2"] or null
|
|
113
|
-
-
|
|
114
|
-
-
|
|
113
|
+
- Only capture when discovering SPECIFIC facts not easily found in docs
|
|
114
|
+
- Or when user explicitly says "remember", "don't forget", "memorize"
|
|
115
115
|
- Examples of valid memories:
|
|
116
|
-
- "
|
|
117
|
-
- "
|
|
118
|
-
- "
|
|
119
|
-
- Not valid for memory (
|
|
120
|
-
- "
|
|
121
|
-
- "
|
|
122
|
-
- "
|
|
116
|
+
- "Database connection pool size must be exactly 10 for stability"
|
|
117
|
+
- "API rate limit is 100/min (undocumented)"
|
|
118
|
+
- "Legacy auth system requires MD5 hash for backwards compatibility"
|
|
119
|
+
- Not valid for memory (easily discoverable):
|
|
120
|
+
- "This project uses Python 3.11"
|
|
121
|
+
- "API endpoints are in /api directory"
|
|
122
|
+
- "Tests use pytest framework"
|
|
123
|
+
**MEMORIES**: <complete optimized memory list when memories change>
|
|
124
|
+
- Include this field ONLY when memories are updated
|
|
125
|
+
- List ALL memories (existing + new), deduplicated and optimized
|
|
126
|
+
- Format: ["Memory 1", "Memory 2", ...]
|
|
123
127
|
**Issues/Notes**: <any problems encountered or important observations>
|
|
124
128
|
```
|
|
125
129
|
|
|
@@ -34,9 +34,41 @@ class FrameworkLoader:
|
|
|
34
34
|
|
|
35
35
|
This component handles:
|
|
36
36
|
1. Finding the framework (claude-multiagent-pm)
|
|
37
|
-
2. Loading
|
|
37
|
+
2. Loading custom instructions from .claude-mpm/ directories
|
|
38
38
|
3. Preparing agent definitions
|
|
39
39
|
4. Formatting for injection
|
|
40
|
+
|
|
41
|
+
Custom Instructions Loading:
|
|
42
|
+
The framework loader supports custom instructions through .claude-mpm/ directories.
|
|
43
|
+
It NEVER reads from .claude/ directories to avoid conflicts with Claude Code.
|
|
44
|
+
|
|
45
|
+
File Loading Precedence (highest to lowest):
|
|
46
|
+
|
|
47
|
+
INSTRUCTIONS.md:
|
|
48
|
+
1. Project: ./.claude-mpm/INSTRUCTIONS.md
|
|
49
|
+
2. User: ~/.claude-mpm/INSTRUCTIONS.md
|
|
50
|
+
3. System: (built-in framework instructions)
|
|
51
|
+
|
|
52
|
+
WORKFLOW.md:
|
|
53
|
+
1. Project: ./.claude-mpm/WORKFLOW.md
|
|
54
|
+
2. User: ~/.claude-mpm/WORKFLOW.md
|
|
55
|
+
3. System: src/claude_mpm/agents/WORKFLOW.md
|
|
56
|
+
|
|
57
|
+
MEMORY.md:
|
|
58
|
+
1. Project: ./.claude-mpm/MEMORY.md
|
|
59
|
+
2. User: ~/.claude-mpm/MEMORY.md
|
|
60
|
+
3. System: src/claude_mpm/agents/MEMORY.md
|
|
61
|
+
|
|
62
|
+
Actual Memories:
|
|
63
|
+
- User: ~/.claude-mpm/memories/PM_memories.md
|
|
64
|
+
- Project: ./.claude-mpm/memories/PM_memories.md (overrides user)
|
|
65
|
+
- Agent memories: *_memories.md files (only loaded if agent is deployed)
|
|
66
|
+
|
|
67
|
+
Important Notes:
|
|
68
|
+
- Project-level files always override user-level files
|
|
69
|
+
- User-level files always override system defaults
|
|
70
|
+
- The framework NEVER reads from .claude/ directories
|
|
71
|
+
- Custom instructions are clearly labeled with their source level
|
|
40
72
|
"""
|
|
41
73
|
|
|
42
74
|
def __init__(
|
|
@@ -349,28 +381,43 @@ class FrameworkLoader:
|
|
|
349
381
|
|
|
350
382
|
def _load_workflow_instructions(self, content: Dict[str, Any]) -> None:
|
|
351
383
|
"""
|
|
352
|
-
Load WORKFLOW.md
|
|
384
|
+
Load WORKFLOW.md from .claude-mpm directories.
|
|
353
385
|
|
|
354
|
-
Precedence:
|
|
355
|
-
1. Project-specific:
|
|
356
|
-
2.
|
|
386
|
+
Precedence (highest to lowest):
|
|
387
|
+
1. Project-specific: ./.claude-mpm/WORKFLOW.md
|
|
388
|
+
2. User-specific: ~/.claude-mpm/WORKFLOW.md
|
|
389
|
+
3. System default: src/claude_mpm/agents/WORKFLOW.md or packaged
|
|
390
|
+
|
|
391
|
+
NOTE: We do NOT load from .claude/ directories to avoid conflicts.
|
|
357
392
|
|
|
358
393
|
Args:
|
|
359
394
|
content: Dictionary to update with workflow instructions
|
|
360
395
|
"""
|
|
361
|
-
# Check for project-specific
|
|
362
|
-
project_workflow_path = Path.cwd() / ".claude-mpm" / "
|
|
396
|
+
# Check for project-specific WORKFLOW.md first (highest priority)
|
|
397
|
+
project_workflow_path = Path.cwd() / ".claude-mpm" / "WORKFLOW.md"
|
|
363
398
|
if project_workflow_path.exists():
|
|
364
399
|
loaded_content = self._try_load_file(
|
|
365
400
|
project_workflow_path, "project-specific WORKFLOW.md"
|
|
366
401
|
)
|
|
367
402
|
if loaded_content:
|
|
368
403
|
content["workflow_instructions"] = loaded_content
|
|
369
|
-
content["
|
|
370
|
-
self.logger.info("Using project-specific WORKFLOW.md")
|
|
404
|
+
content["workflow_instructions_level"] = "project"
|
|
405
|
+
self.logger.info("Using project-specific workflow instructions from .claude-mpm/WORKFLOW.md")
|
|
406
|
+
return
|
|
407
|
+
|
|
408
|
+
# Check for user-specific WORKFLOW.md (medium priority)
|
|
409
|
+
user_workflow_path = Path.home() / ".claude-mpm" / "WORKFLOW.md"
|
|
410
|
+
if user_workflow_path.exists():
|
|
411
|
+
loaded_content = self._try_load_file(
|
|
412
|
+
user_workflow_path, "user-specific WORKFLOW.md"
|
|
413
|
+
)
|
|
414
|
+
if loaded_content:
|
|
415
|
+
content["workflow_instructions"] = loaded_content
|
|
416
|
+
content["workflow_instructions_level"] = "user"
|
|
417
|
+
self.logger.info("Using user-specific workflow instructions from ~/.claude-mpm/WORKFLOW.md")
|
|
371
418
|
return
|
|
372
419
|
|
|
373
|
-
# Fall back to system workflow
|
|
420
|
+
# Fall back to system workflow (lowest priority)
|
|
374
421
|
if self.framework_path and self.framework_path != Path("__PACKAGED__"):
|
|
375
422
|
system_workflow_path = (
|
|
376
423
|
self.framework_path / "src" / "claude_mpm" / "agents" / "WORKFLOW.md"
|
|
@@ -381,33 +428,48 @@ class FrameworkLoader:
|
|
|
381
428
|
)
|
|
382
429
|
if loaded_content:
|
|
383
430
|
content["workflow_instructions"] = loaded_content
|
|
384
|
-
content["
|
|
385
|
-
self.logger.info("Using system
|
|
431
|
+
content["workflow_instructions_level"] = "system"
|
|
432
|
+
self.logger.info("Using system workflow instructions")
|
|
386
433
|
|
|
387
434
|
def _load_memory_instructions(self, content: Dict[str, Any]) -> None:
|
|
388
435
|
"""
|
|
389
|
-
Load MEMORY.md
|
|
436
|
+
Load MEMORY.md from .claude-mpm directories.
|
|
390
437
|
|
|
391
|
-
Precedence:
|
|
392
|
-
1. Project-specific:
|
|
393
|
-
2.
|
|
438
|
+
Precedence (highest to lowest):
|
|
439
|
+
1. Project-specific: ./.claude-mpm/MEMORY.md
|
|
440
|
+
2. User-specific: ~/.claude-mpm/MEMORY.md
|
|
441
|
+
3. System default: src/claude_mpm/agents/MEMORY.md or packaged
|
|
442
|
+
|
|
443
|
+
NOTE: We do NOT load from .claude/ directories to avoid conflicts.
|
|
394
444
|
|
|
395
445
|
Args:
|
|
396
446
|
content: Dictionary to update with memory instructions
|
|
397
447
|
"""
|
|
398
|
-
# Check for project-specific
|
|
399
|
-
project_memory_path = Path.cwd() / ".claude-mpm" / "
|
|
448
|
+
# Check for project-specific MEMORY.md first (highest priority)
|
|
449
|
+
project_memory_path = Path.cwd() / ".claude-mpm" / "MEMORY.md"
|
|
400
450
|
if project_memory_path.exists():
|
|
401
451
|
loaded_content = self._try_load_file(
|
|
402
452
|
project_memory_path, "project-specific MEMORY.md"
|
|
403
453
|
)
|
|
404
454
|
if loaded_content:
|
|
405
455
|
content["memory_instructions"] = loaded_content
|
|
406
|
-
content["
|
|
407
|
-
self.logger.info("Using project-specific MEMORY.md")
|
|
456
|
+
content["memory_instructions_level"] = "project"
|
|
457
|
+
self.logger.info("Using project-specific memory instructions from .claude-mpm/MEMORY.md")
|
|
458
|
+
return
|
|
459
|
+
|
|
460
|
+
# Check for user-specific MEMORY.md (medium priority)
|
|
461
|
+
user_memory_path = Path.home() / ".claude-mpm" / "MEMORY.md"
|
|
462
|
+
if user_memory_path.exists():
|
|
463
|
+
loaded_content = self._try_load_file(
|
|
464
|
+
user_memory_path, "user-specific MEMORY.md"
|
|
465
|
+
)
|
|
466
|
+
if loaded_content:
|
|
467
|
+
content["memory_instructions"] = loaded_content
|
|
468
|
+
content["memory_instructions_level"] = "user"
|
|
469
|
+
self.logger.info("Using user-specific memory instructions from ~/.claude-mpm/MEMORY.md")
|
|
408
470
|
return
|
|
409
471
|
|
|
410
|
-
# Fall back to system memory instructions
|
|
472
|
+
# Fall back to system memory instructions (lowest priority)
|
|
411
473
|
if self.framework_path and self.framework_path != Path("__PACKAGED__"):
|
|
412
474
|
system_memory_path = (
|
|
413
475
|
self.framework_path / "src" / "claude_mpm" / "agents" / "MEMORY.md"
|
|
@@ -418,8 +480,8 @@ class FrameworkLoader:
|
|
|
418
480
|
)
|
|
419
481
|
if loaded_content:
|
|
420
482
|
content["memory_instructions"] = loaded_content
|
|
421
|
-
content["
|
|
422
|
-
self.logger.info("Using system
|
|
483
|
+
content["memory_instructions_level"] = "system"
|
|
484
|
+
self.logger.info("Using system memory instructions")
|
|
423
485
|
|
|
424
486
|
def _get_deployed_agents(self) -> set:
|
|
425
487
|
"""
|
|
@@ -859,9 +921,11 @@ class FrameworkLoader:
|
|
|
859
921
|
"working_claude_md": "",
|
|
860
922
|
"framework_instructions": "",
|
|
861
923
|
"workflow_instructions": "",
|
|
862
|
-
"
|
|
924
|
+
"workflow_instructions_level": "", # Track source level
|
|
863
925
|
"memory_instructions": "",
|
|
864
|
-
"
|
|
926
|
+
"memory_instructions_level": "", # Track source level
|
|
927
|
+
"project_workflow": "", # Deprecated, use workflow_instructions_level
|
|
928
|
+
"project_memory": "", # Deprecated, use memory_instructions_level
|
|
865
929
|
"actual_memories": "", # Add field for actual memories from PM_memories.md
|
|
866
930
|
}
|
|
867
931
|
|
|
@@ -1141,16 +1205,22 @@ class FrameworkLoader:
|
|
|
1141
1205
|
workflow_content = self._strip_metadata_comments(
|
|
1142
1206
|
self.framework_content["workflow_instructions"]
|
|
1143
1207
|
)
|
|
1144
|
-
|
|
1145
|
-
|
|
1208
|
+
level = self.framework_content.get("workflow_instructions_level", "system")
|
|
1209
|
+
if level != "system":
|
|
1210
|
+
instructions += f"\n\n## Workflow Instructions ({level} level)\n\n"
|
|
1211
|
+
instructions += "**The following workflow instructions override system defaults:**\n\n"
|
|
1212
|
+
instructions += f"{workflow_content}\n"
|
|
1146
1213
|
|
|
1147
1214
|
# Add MEMORY.md after workflow instructions
|
|
1148
1215
|
if self.framework_content.get("memory_instructions"):
|
|
1149
1216
|
memory_content = self._strip_metadata_comments(
|
|
1150
1217
|
self.framework_content["memory_instructions"]
|
|
1151
1218
|
)
|
|
1152
|
-
|
|
1153
|
-
|
|
1219
|
+
level = self.framework_content.get("memory_instructions_level", "system")
|
|
1220
|
+
if level != "system":
|
|
1221
|
+
instructions += f"\n\n## Memory Instructions ({level} level)\n\n"
|
|
1222
|
+
instructions += "**The following memory instructions override system defaults:**\n\n"
|
|
1223
|
+
instructions += f"{memory_content}\n"
|
|
1154
1224
|
|
|
1155
1225
|
# Add actual PM memories after memory instructions
|
|
1156
1226
|
if self.framework_content.get("actual_memories"):
|
|
@@ -416,8 +416,12 @@ class AgentDeploymentService(ConfigServiceBase, AgentDeploymentInterface):
|
|
|
416
416
|
source_info=source_info,
|
|
417
417
|
)
|
|
418
418
|
|
|
419
|
-
#
|
|
420
|
-
|
|
419
|
+
# CRITICAL: System instructions deployment disabled to prevent automatic file creation
|
|
420
|
+
# The system should NEVER automatically write INSTRUCTIONS.md, MEMORY.md, WORKFLOW.md
|
|
421
|
+
# to .claude/ directory. These files should only be created when explicitly requested
|
|
422
|
+
# by the user through agent-manager commands.
|
|
423
|
+
# See deploy_system_instructions_explicit() for manual deployment.
|
|
424
|
+
# self._deploy_system_instructions(agents_dir, force_rebuild, results)
|
|
421
425
|
|
|
422
426
|
self.logger.info(
|
|
423
427
|
f"Deployed {len(results['deployed'])} agents, "
|
|
@@ -617,6 +621,65 @@ class AgentDeploymentService(ConfigServiceBase, AgentDeploymentInterface):
|
|
|
617
621
|
target_dir, force_rebuild, results, self._is_project_specific_deployment()
|
|
618
622
|
)
|
|
619
623
|
|
|
624
|
+
def deploy_system_instructions_explicit(
|
|
625
|
+
self, target_dir: Optional[Path] = None, force_rebuild: bool = False
|
|
626
|
+
) -> Dict[str, Any]:
|
|
627
|
+
"""
|
|
628
|
+
Explicitly deploy system instructions when requested by user.
|
|
629
|
+
|
|
630
|
+
This method should ONLY be called when the user explicitly requests
|
|
631
|
+
deployment of system instructions through agent-manager commands.
|
|
632
|
+
It will deploy INSTRUCTIONS.md, MEMORY.md, and WORKFLOW.md to .claude-mpm/
|
|
633
|
+
directory (not .claude/).
|
|
634
|
+
|
|
635
|
+
Args:
|
|
636
|
+
target_dir: Target directory for deployment (defaults to .claude-mpm/)
|
|
637
|
+
force_rebuild: Force rebuild even if files exist
|
|
638
|
+
|
|
639
|
+
Returns:
|
|
640
|
+
Dict with deployment results
|
|
641
|
+
"""
|
|
642
|
+
results = {
|
|
643
|
+
"deployed": [],
|
|
644
|
+
"updated": [],
|
|
645
|
+
"skipped": [],
|
|
646
|
+
"errors": [],
|
|
647
|
+
}
|
|
648
|
+
|
|
649
|
+
try:
|
|
650
|
+
# Use .claude-mpm/ instead of .claude/
|
|
651
|
+
if target_dir is None:
|
|
652
|
+
if self._is_project_specific_deployment():
|
|
653
|
+
target_dir = self.working_directory / ".claude-mpm"
|
|
654
|
+
else:
|
|
655
|
+
target_dir = Path.home() / ".claude-mpm"
|
|
656
|
+
|
|
657
|
+
# Ensure directory exists
|
|
658
|
+
target_dir.mkdir(parents=True, exist_ok=True)
|
|
659
|
+
|
|
660
|
+
# Deploy using the modified deployer (targeting .claude-mpm/)
|
|
661
|
+
from .system_instructions_deployer import SystemInstructionsDeployer
|
|
662
|
+
deployer = SystemInstructionsDeployer(self.logger, self.working_directory)
|
|
663
|
+
|
|
664
|
+
# We'll need to pass .claude-mpm as the target
|
|
665
|
+
deployer.deploy_system_instructions_to_claude_mpm(
|
|
666
|
+
target_dir, force_rebuild, results, self._is_project_specific_deployment()
|
|
667
|
+
)
|
|
668
|
+
|
|
669
|
+
self.logger.info(
|
|
670
|
+
f"Explicitly deployed system instructions to {target_dir}: "
|
|
671
|
+
f"deployed={len(results['deployed'])}, "
|
|
672
|
+
f"updated={len(results['updated'])}, "
|
|
673
|
+
f"skipped={len(results['skipped'])}"
|
|
674
|
+
)
|
|
675
|
+
|
|
676
|
+
except Exception as e:
|
|
677
|
+
error_msg = f"Failed to deploy system instructions: {e}"
|
|
678
|
+
self.logger.error(error_msg)
|
|
679
|
+
results["errors"].append(error_msg)
|
|
680
|
+
|
|
681
|
+
return results
|
|
682
|
+
|
|
620
683
|
def _convert_yaml_to_md(self, target_dir: Path) -> Dict[str, Any]:
|
|
621
684
|
"""Convert existing YAML agent files to MD format with YAML frontmatter."""
|
|
622
685
|
return self.format_converter.convert_yaml_to_md(target_dir)
|
|
@@ -17,6 +17,78 @@ class SystemInstructionsDeployer:
|
|
|
17
17
|
self.logger = logger
|
|
18
18
|
self.working_directory = working_directory
|
|
19
19
|
|
|
20
|
+
def deploy_system_instructions_to_claude_mpm(
|
|
21
|
+
self,
|
|
22
|
+
target_dir: Path,
|
|
23
|
+
force_rebuild: bool,
|
|
24
|
+
results: Dict[str, Any],
|
|
25
|
+
is_project_specific: bool,
|
|
26
|
+
) -> None:
|
|
27
|
+
"""
|
|
28
|
+
Deploy system instructions to .claude-mpm/ directory (not .claude/).
|
|
29
|
+
|
|
30
|
+
This method should ONLY be called when explicitly requested by the user.
|
|
31
|
+
It deploys INSTRUCTIONS.md, WORKFLOW.md, and MEMORY.md files to .claude-mpm/
|
|
32
|
+
|
|
33
|
+
Args:
|
|
34
|
+
target_dir: Target directory (should be .claude-mpm/)
|
|
35
|
+
force_rebuild: Force rebuild even if exists
|
|
36
|
+
results: Results dictionary to update
|
|
37
|
+
is_project_specific: Whether this is a project-specific deployment
|
|
38
|
+
"""
|
|
39
|
+
try:
|
|
40
|
+
# Framework files to deploy
|
|
41
|
+
framework_files = [
|
|
42
|
+
("INSTRUCTIONS.md", "INSTRUCTIONS.md"),
|
|
43
|
+
("WORKFLOW.md", "WORKFLOW.md"),
|
|
44
|
+
("MEMORY.md", "MEMORY.md"),
|
|
45
|
+
]
|
|
46
|
+
|
|
47
|
+
# Find the agents directory with framework files
|
|
48
|
+
from claude_mpm.config.paths import paths
|
|
49
|
+
agents_path = paths.agents_dir
|
|
50
|
+
|
|
51
|
+
for source_name, target_name in framework_files:
|
|
52
|
+
source_path = agents_path / source_name
|
|
53
|
+
|
|
54
|
+
if not source_path.exists():
|
|
55
|
+
self.logger.warning(f"Framework file not found: {source_path}")
|
|
56
|
+
continue
|
|
57
|
+
|
|
58
|
+
target_file = target_dir / target_name
|
|
59
|
+
|
|
60
|
+
# Check if update needed
|
|
61
|
+
if not force_rebuild and target_file.exists():
|
|
62
|
+
# Compare modification times
|
|
63
|
+
if target_file.stat().st_mtime >= source_path.stat().st_mtime:
|
|
64
|
+
results["skipped"].append(target_name)
|
|
65
|
+
self.logger.debug(f"Framework file {target_name} up to date")
|
|
66
|
+
continue
|
|
67
|
+
|
|
68
|
+
# Read and deploy framework file
|
|
69
|
+
file_content = source_path.read_text()
|
|
70
|
+
target_file.write_text(file_content)
|
|
71
|
+
|
|
72
|
+
# Track deployment
|
|
73
|
+
file_existed = target_file.exists()
|
|
74
|
+
deployment_info = {
|
|
75
|
+
"name": target_name,
|
|
76
|
+
"template": str(source_path),
|
|
77
|
+
"target": str(target_file),
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
if file_existed:
|
|
81
|
+
results["updated"].append(deployment_info)
|
|
82
|
+
self.logger.info(f"Updated framework file in .claude-mpm: {target_name}")
|
|
83
|
+
else:
|
|
84
|
+
results["deployed"].append(deployment_info)
|
|
85
|
+
self.logger.info(f"Deployed framework file to .claude-mpm: {target_name}")
|
|
86
|
+
|
|
87
|
+
except Exception as e:
|
|
88
|
+
error_msg = f"Failed to deploy system instructions to .claude-mpm: {e}"
|
|
89
|
+
self.logger.error(error_msg)
|
|
90
|
+
results["errors"].append(error_msg)
|
|
91
|
+
|
|
20
92
|
def deploy_system_instructions(
|
|
21
93
|
self,
|
|
22
94
|
target_dir: Path,
|