claude-mpm 3.1.3__tar.gz → 3.2.1__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-3.1.3 → claude_mpm-3.2.1}/CHANGELOG.md +54 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/CLAUDE.md +1 -2
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/PKG-INFO +20 -9
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/README.md +15 -8
- claude_mpm-3.2.1/VERSION +1 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/package.json +1 -1
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/pyproject.toml +11 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/requirements.txt +2 -1
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/claude-mpm +4 -10
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/__init__.py +3 -3
- claude_mpm-3.2.1/src/claude_mpm/__main__.py +21 -0
- claude_mpm-3.2.1/src/claude_mpm/agents/INSTRUCTIONS.md +266 -0
- {claude_mpm-3.1.3/src/claude_mpm/agents → claude_mpm-3.2.1/src/claude_mpm/agents/backups}/INSTRUCTIONS.md +52 -17
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/agents/base_agent.json +1 -1
- claude_mpm-3.2.1/src/claude_mpm/agents/templates/pm.json +25 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/agents/templates/research.json +2 -1
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/cli/__init__.py +19 -23
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/cli/commands/__init__.py +3 -1
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/cli/commands/agents.py +7 -18
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/cli/commands/info.py +5 -10
- claude_mpm-3.2.1/src/claude_mpm/cli/commands/memory.py +232 -0
- claude_mpm-3.2.1/src/claude_mpm/cli/commands/run.py +568 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/cli/commands/tickets.py +10 -17
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/cli/commands/ui.py +15 -37
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/cli/parser.py +91 -1
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/cli/utils.py +9 -28
- claude_mpm-3.2.1/src/claude_mpm/config/socketio_config.py +256 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/constants.py +9 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/core/__init__.py +2 -2
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/core/agent_registry.py +4 -4
- claude_mpm-3.2.1/src/claude_mpm/core/claude_runner.py +919 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/core/config.py +21 -1
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/core/factories.py +1 -1
- claude_mpm-3.2.1/src/claude_mpm/core/hook_manager.py +196 -0
- claude_mpm-3.2.1/src/claude_mpm/core/pm_hook_interceptor.py +205 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/core/service_registry.py +1 -1
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/core/simple_runner.py +323 -33
- claude_mpm-3.2.1/src/claude_mpm/core/socketio_pool.py +582 -0
- claude_mpm-3.2.1/src/claude_mpm/core/websocket_handler.py +233 -0
- claude_mpm-3.2.1/src/claude_mpm/deployment_paths.py +261 -0
- claude_mpm-3.2.1/src/claude_mpm/hooks/builtin/memory_hooks_example.py +67 -0
- claude_mpm-3.2.1/src/claude_mpm/hooks/claude_hooks/hook_handler.py +754 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/hooks/claude_hooks/hook_wrapper.sh +9 -4
- claude_mpm-3.2.1/src/claude_mpm/hooks/memory_integration_hook.py +312 -0
- claude_mpm-3.2.1/src/claude_mpm/models/__init__.py +24 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/orchestration/__init__.py +1 -1
- claude_mpm-3.2.1/src/claude_mpm/scripts/claude-mpm-socketio +32 -0
- claude_mpm-3.2.1/src/claude_mpm/scripts/claude_mpm_monitor.html +567 -0
- claude_mpm-3.2.1/src/claude_mpm/scripts/install_socketio_server.py +407 -0
- claude_mpm-3.2.1/src/claude_mpm/scripts/launch_monitor.py +132 -0
- claude_mpm-3.2.1/src/claude_mpm/scripts/socketio_daemon.py +181 -0
- claude_mpm-3.2.1/src/claude_mpm/scripts/socketio_server_manager.py +428 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/__init__.py +5 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/agent_lifecycle_manager.py +76 -25
- claude_mpm-3.2.1/src/claude_mpm/services/agent_memory_manager.py +684 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/agent_modification_tracker.py +98 -17
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/agent_persistence_service.py +33 -13
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/agent_registry.py +82 -43
- claude_mpm-3.2.1/src/claude_mpm/services/hook_service.py +362 -0
- claude_mpm-3.2.1/src/claude_mpm/services/socketio_client_manager.py +474 -0
- claude_mpm-3.2.1/src/claude_mpm/services/socketio_server.py +698 -0
- claude_mpm-3.2.1/src/claude_mpm/services/standalone_socketio_server.py +631 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/ticket_manager.py +4 -5
- claude_mpm-3.1.3/src/claude_mpm/services/ticket_manager_dependency_injection.py → claude_mpm-3.2.1/src/claude_mpm/services/ticket_manager_di.py +12 -39
- claude_mpm-3.1.3/src/claude_mpm/services/legacy_ticketing_service.py → claude_mpm-3.2.1/src/claude_mpm/services/ticketing_service_original.py +9 -16
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/version_control/semantic_versioning.py +9 -10
- claude_mpm-3.2.1/src/claude_mpm/services/websocket_server.py +376 -0
- claude_mpm-3.2.1/src/claude_mpm/utils/dependency_manager.py +211 -0
- claude_mpm-3.2.1/src/claude_mpm/utils/import_migration_example.py +80 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/utils/path_operations.py +0 -20
- claude_mpm-3.2.1/src/claude_mpm/web/open_dashboard.py +34 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm.egg-info/PKG-INFO +20 -9
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm.egg-info/SOURCES.txt +31 -41
- claude_mpm-3.2.1/src/claude_mpm.egg-info/entry_points.txt +7 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm.egg-info/requires.txt +5 -0
- claude_mpm-3.1.3/QA_REPORT_FINAL.md +0 -147
- claude_mpm-3.1.3/QA_REPORT_STATUS_RESOLUTION.md +0 -196
- claude_mpm-3.1.3/VERSION +0 -1
- claude_mpm-3.1.3/run_qa_tests.py +0 -593
- claude_mpm-3.1.3/run_qa_tests_fixed.py +0 -956
- claude_mpm-3.1.3/scripts/README.md +0 -112
- claude_mpm-3.1.3/scripts/agent_manager_integration_report.md +0 -123
- claude_mpm-3.1.3/scripts/debug_agent_loading.py +0 -102
- claude_mpm-3.1.3/scripts/debug_agent_structure.py +0 -66
- claude_mpm-3.1.3/scripts/debug_capabilities_generation.py +0 -111
- claude_mpm-3.1.3/scripts/debug_deployment_logic.py +0 -52
- claude_mpm-3.1.3/scripts/debug_hook_behavior.py +0 -62
- claude_mpm-3.1.3/scripts/debug_hook_behavior2.py +0 -66
- claude_mpm-3.1.3/scripts/debug_migration.py +0 -51
- claude_mpm-3.1.3/scripts/debug_research_version.py +0 -47
- claude_mpm-3.1.3/scripts/debug_subprocess.py +0 -40
- claude_mpm-3.1.3/scripts/postinstall.js +0 -106
- claude_mpm-3.1.3/scripts/test_agent_e2e_quick.py +0 -76
- claude_mpm-3.1.3/scripts/test_debug_file_access.py +0 -69
- claude_mpm-3.1.3/scripts/test_helloworld_expanded.js +0 -67
- claude_mpm-3.1.3/scripts/test_helloworld_hook.js +0 -68
- claude_mpm-3.1.3/scripts/test_helloworld_passthrough.js +0 -67
- claude_mpm-3.1.3/scripts/test_hook_direct.py +0 -68
- claude_mpm-3.1.3/scripts/test_hook_logging.py +0 -154
- claude_mpm-3.1.3/scripts/test_hook_security.py +0 -151
- claude_mpm-3.1.3/scripts/test_mcp_monitor.py +0 -105
- claude_mpm-3.1.3/scripts/test_working_directory_comprehensive.py +0 -165
- claude_mpm-3.1.3/scripts/test_working_directory_final.py +0 -174
- claude_mpm-3.1.3/scripts/test_working_directory_fix.py +0 -145
- claude_mpm-3.1.3/scripts/working_directory_fix_report.md +0 -106
- claude_mpm-3.1.3/src/claude_mpm/__main__.py +0 -38
- claude_mpm-3.1.3/src/claude_mpm/cli/commands/run.py +0 -95
- claude_mpm-3.1.3/src/claude_mpm/cli_old.py +0 -728
- claude_mpm-3.1.3/src/claude_mpm/hooks/claude_hooks/hook_handler.py +0 -766
- claude_mpm-3.1.3/src/claude_mpm/models/__init__.py +0 -106
- claude_mpm-3.1.3/src/claude_mpm/models/common.py +0 -41
- claude_mpm-3.1.3/src/claude_mpm/models/lifecycle.py +0 -97
- claude_mpm-3.1.3/src/claude_mpm/models/modification.py +0 -126
- claude_mpm-3.1.3/src/claude_mpm/models/persistence.py +0 -57
- claude_mpm-3.1.3/src/claude_mpm/models/registry.py +0 -91
- claude_mpm-3.1.3/src/claude_mpm/security/__init__.py +0 -8
- claude_mpm-3.1.3/src/claude_mpm/security/bash_validator.py +0 -393
- claude_mpm-3.1.3/src/claude_mpm.egg-info/entry_points.txt +0 -4
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.ai-trackdown/config.yaml +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.ai-trackdown/project.yaml +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.aitrackdown/project.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.aitrackdown-config.yaml +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/.claude.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/.claude.json.backup +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/agents/data_engineer.yaml +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/agents/documentation.yaml +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/agents/engineer.yaml +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/agents/ops.yaml +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/agents/pm.yaml +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/agents/qa.yaml +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/agents/research.yaml +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/agents/security.yaml +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/agents/version_control.yaml +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/commands/README.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/commands/mpm.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/hooks.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/scripts/command_router.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/settings.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753448752189-02zmkd.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753448752717-t1o960.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753448753258-cz40yi.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753448753816-5cj75h.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753449561020-uh844i.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753449676191-16dqe8.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753449766642-8sffyp.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753449795813-bj9blv.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753449953467-ru9ods.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753449966919-eb4aoq.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753450012330-ad1k3g.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753450254970-pvrwgd.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753450398246-etdteg.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753450789791-z5ptuf.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753450861209-w6so3e.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753451302996-01ahjc.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753451384857-mvpmcf.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753451508182-v942iw.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753451525128-q52z98.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753452958143-rd4nut.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753453029843-tyfjfo.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753460195020-02l99b.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753460396315-znuas3.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753460428488-tcy6i5.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753460542243-l181zr.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753461397341-fdy0v7.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753469116715-v6dpx9.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753477538332-i5g2cr.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753477560204-7vo17t.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753477883629-hsjia3.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753477961808-oiyqie.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753478292112-5g3i0g.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753478337101-xe1uid.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753478342176-env102.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753478361973-nr1cwq.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753478372714-lamo9k.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753478388184-yxkay7.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753478392376-eygj04.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/shell-snapshots/snapshot-zsh-1753482158558-cr2h0o.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/0aaf869f-0009-4249-b955-1c3942ff239f-agent-0aaf869f-0009-4249-b955-1c3942ff239f.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/0c24ded8-9422-489d-8d18-f83cc0737181-agent-0c24ded8-9422-489d-8d18-f83cc0737181.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/0d9501e6-77b0-4e8f-b132-bae208ed740a-agent-0d9501e6-77b0-4e8f-b132-bae208ed740a.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5-agent-048a118d-f0ea-4dce-90d3-d851514aa36a.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5-agent-0600940d-65ff-4678-ac90-9e0d42a3e138.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5-agent-1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5-agent-1b8badbc-b05e-459e-b16c-a974f28673be.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5-agent-231626b2-0ce7-44fb-82e4-a9e72fdcecc4.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5-agent-2799acc0-b5e3-4086-940e-62bd2a5bbd7d.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5-agent-42b0c458-9d5f-4745-826e-7c618d3a7026.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5-agent-a324c872-b962-4438-b794-7966f5d7a7a9.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5-agent-ce91e7fd-64af-4f57-b691-1487c2db8d0b.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5-agent-dd250db2-edbb-43fc-a143-3eeafc0cd7fa.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5-agent-f0cbf9cd-0136-4bca-b0e0-c66aa58d3aeb.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/109c42c9-0afd-4a5b-a1b3-e515e31b6a2f-agent-109c42c9-0afd-4a5b-a1b3-e515e31b6a2f.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/1163a193-8464-4195-8281-6b875b5d987d-agent-1163a193-8464-4195-8281-6b875b5d987d.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/128d2198-5b02-422c-9531-f3396cbf0ce0-agent-128d2198-5b02-422c-9531-f3396cbf0ce0.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/16c51506-6afa-43aa-b199-da0c853f99a9-agent-16c51506-6afa-43aa-b199-da0c853f99a9.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/1736bdd7-71f4-49a0-934d-18e3aa5e0b43-agent-1736bdd7-71f4-49a0-934d-18e3aa5e0b43.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/1869eedc-69fc-4e81-a8ac-f57bd8e3946b-agent-1869eedc-69fc-4e81-a8ac-f57bd8e3946b.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/1a97dfda-12e5-4f13-8c8a-731373694a1c-agent-1a97dfda-12e5-4f13-8c8a-731373694a1c.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/283ac74b-5516-43f8-9548-24ded2b643b1-agent-283ac74b-5516-43f8-9548-24ded2b643b1.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/2ba08561-559e-4f64-9522-8d6c340e47da-agent-2ba08561-559e-4f64-9522-8d6c340e47da.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/31da8ed9-e1a5-40c8-91c8-8e9b51ca24a9-agent-31da8ed9-e1a5-40c8-91c8-8e9b51ca24a9.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/35194d51-6b8f-4ef5-b771-b0aa03f49a88-agent-35194d51-6b8f-4ef5-b771-b0aa03f49a88.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/3d1c0368-e607-4f47-b02d-7c0922cc0f25-agent-3d1c0368-e607-4f47-b02d-7c0922cc0f25.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/3d46c625-6377-4296-b9b3-22bc19341092-agent-3d46c625-6377-4296-b9b3-22bc19341092.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/40072791-2f2f-4743-b763-ec19321ccb0b-agent-40072791-2f2f-4743-b763-ec19321ccb0b.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/4157ab6d-5025-4862-82eb-5818c43c5a8c-agent-4157ab6d-5025-4862-82eb-5818c43c5a8c.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/458938f3-a317-46f3-8359-86f05ccacc7d-agent-458938f3-a317-46f3-8359-86f05ccacc7d.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/4dcf1510-e396-47bb-ac32-f62811ae9774-agent-4dcf1510-e396-47bb-ac32-f62811ae9774.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/4e71e501-1438-4c7d-8a89-18818b16ccb5-agent-4e71e501-1438-4c7d-8a89-18818b16ccb5.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/4eb9a1c4-92b0-44ee-9322-6ba0442efd42-agent-4eb9a1c4-92b0-44ee-9322-6ba0442efd42.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/4f57fa86-e804-4c8e-a0ff-196835df5bc9-agent-4f57fa86-e804-4c8e-a0ff-196835df5bc9.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/518e2724-687e-4ae3-bde9-582c8718695a-agent-518e2724-687e-4ae3-bde9-582c8718695a.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/51abf2eb-4e5a-4731-bd23-76cffe656a40-agent-51abf2eb-4e5a-4731-bd23-76cffe656a40.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/53c4beda-27f3-4247-ada4-f904320995ad-agent-53c4beda-27f3-4247-ada4-f904320995ad.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/56581e8b-07b1-4174-bf81-c280a3dee6b4-agent-56581e8b-07b1-4174-bf81-c280a3dee6b4.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/58848224-56e6-49f6-a4e5-c08f8f70c426-agent-58848224-56e6-49f6-a4e5-c08f8f70c426.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/58cf2d09-fd22-4a2e-8c74-c247ece6c802-agent-58cf2d09-fd22-4a2e-8c74-c247ece6c802.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/5bcc2e07-617c-4659-b82f-6b630ea891ff-agent-5bcc2e07-617c-4659-b82f-6b630ea891ff.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/5bf326e7-b61a-4d82-b483-94d5d7085755-agent-5bf326e7-b61a-4d82-b483-94d5d7085755.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/5dee78ec-d9ed-4484-b101-5490217fe423-agent-5dee78ec-d9ed-4484-b101-5490217fe423.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/5f6c7624-6a25-4ed9-be09-03fa3a70c4d8-agent-5f6c7624-6a25-4ed9-be09-03fa3a70c4d8.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/606431c0-6b47-4fb8-b386-132918a3aa0b-agent-606431c0-6b47-4fb8-b386-132918a3aa0b.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/6078e96f-e9a4-435f-8d2f-cf70346ebafe-agent-6078e96f-e9a4-435f-8d2f-cf70346ebafe.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/69e5a32b-bf2c-4264-93cd-6ac84b44ca9f-agent-69e5a32b-bf2c-4264-93cd-6ac84b44ca9f.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/6b729248-47b8-4657-ad7f-7f09fff21151-agent-6b729248-47b8-4657-ad7f-7f09fff21151.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/6d6970e8-f95f-468b-a8b8-3eacca8f1220-agent-6d6970e8-f95f-468b-a8b8-3eacca8f1220.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/6ec6cfa4-f2fd-4515-9c95-3ea74fbc571b-agent-6ec6cfa4-f2fd-4515-9c95-3ea74fbc571b.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/713e1bda-caa2-4cb9-a5a2-b7c6fec5776f-agent-713e1bda-caa2-4cb9-a5a2-b7c6fec5776f.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/71e6da9f-0dcd-4abd-ae8f-a5af695d9624-agent-71e6da9f-0dcd-4abd-ae8f-a5af695d9624.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/7653f086-93df-4423-98ce-640305e10823-agent-7653f086-93df-4423-98ce-640305e10823.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/76656734-acd3-411c-b333-f274dabae19c-agent-76656734-acd3-411c-b333-f274dabae19c.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/78150f02-9204-437c-9e12-9e800f3f73b9-agent-78150f02-9204-437c-9e12-9e800f3f73b9.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/7dda0a32-2834-4a47-9734-9ae9ca5b1a31-agent-7dda0a32-2834-4a47-9734-9ae9ca5b1a31.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/84b4d3c7-5506-4e4e-87dd-9cc48b8bc2ec-agent-84b4d3c7-5506-4e4e-87dd-9cc48b8bc2ec.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/86ce0d12-f82e-49b2-b553-2cd8a7e188a3-agent-86ce0d12-f82e-49b2-b553-2cd8a7e188a3.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/87626114-6cb1-43ef-978a-bb35f612e4eb-agent-87626114-6cb1-43ef-978a-bb35f612e4eb.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/880d3ea5-649e-449e-88bc-664a291ec338-agent-880d3ea5-649e-449e-88bc-664a291ec338.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/8962e6d9-0fc0-4578-bb08-a5dfbc2dbe5e-agent-8962e6d9-0fc0-4578-bb08-a5dfbc2dbe5e.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/8f998b9e-5f18-4ade-bd69-74c95a210f6a-agent-8f998b9e-5f18-4ade-bd69-74c95a210f6a.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/929364bd-aa69-4831-850e-37f8ab63803d-agent-929364bd-aa69-4831-850e-37f8ab63803d.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/95479b6c-cfbf-4bb7-9e00-b95a0b385775-agent-95479b6c-cfbf-4bb7-9e00-b95a0b385775.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/9628cc3a-355a-48f0-ab54-c28ac2e05dfe-agent-9628cc3a-355a-48f0-ab54-c28ac2e05dfe.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/a877fe3a-7057-49a9-9726-239ddb3421ee-agent-a877fe3a-7057-49a9-9726-239ddb3421ee.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/a9136d1b-6e01-4879-972f-5fcdde5e08d7-agent-a9136d1b-6e01-4879-972f-5fcdde5e08d7.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/b10ff15f-3c8c-46d7-93b4-a0d4d5ec4003-agent-b10ff15f-3c8c-46d7-93b4-a0d4d5ec4003.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/b1206d13-f0ec-4f53-a746-a845732fefd7-agent-b1206d13-f0ec-4f53-a746-a845732fefd7.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/b61be2e4-7de3-4e1b-b636-2232190ffc5c-agent-b61be2e4-7de3-4e1b-b636-2232190ffc5c.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/b80ad406-64d1-4a6c-b781-15496265fae0-agent-b80ad406-64d1-4a6c-b781-15496265fae0.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/babc6eac-d7d6-498a-8176-e09e00423a12-agent-babc6eac-d7d6-498a-8176-e09e00423a12.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/bf4b7700-9630-466e-afb0-8904fbddac42-agent-bf4b7700-9630-466e-afb0-8904fbddac42.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/c2189d0d-9c2b-400a-bf7c-3989ef6cd37d-agent-c2189d0d-9c2b-400a-bf7c-3989ef6cd37d.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/c35ee595-142f-454b-bb36-dc434d4a80a6-agent-c35ee595-142f-454b-bb36-dc434d4a80a6.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/c629949d-4641-45ff-81d3-d7c8f353da81-agent-c629949d-4641-45ff-81d3-d7c8f353da81.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/c8cecbec-a3bb-4507-98a4-c590a4e919b2-agent-c8cecbec-a3bb-4507-98a4-c590a4e919b2.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/cce78c00-7309-4bc4-802c-3bad75be09cc-agent-cce78c00-7309-4bc4-802c-3bad75be09cc.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/d55a3a18-0143-4401-ba56-ea630982c105-agent-d55a3a18-0143-4401-ba56-ea630982c105.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/d881887b-49bc-4fda-acda-c866681c8f13-agent-d881887b-49bc-4fda-acda-c866681c8f13.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/db3e76fb-7b9d-4f1c-8822-cce448fdf9e6-agent-db3e76fb-7b9d-4f1c-8822-cce448fdf9e6.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/dc7344a6-cd2e-4f20-a945-deb2e39f4fbc-agent-dc7344a6-cd2e-4f20-a945-deb2e39f4fbc.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/eb12ed58-94e3-490a-b8c8-b2912fa77fbe-agent-eb12ed58-94e3-490a-b8c8-b2912fa77fbe.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/ef4c285d-d79b-4c6e-a458-49cb26bf3c0a-agent-ef4c285d-d79b-4c6e-a458-49cb26bf3c0a.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/f295b25f-51d8-4fff-b71d-aa18d7028466-agent-f295b25f-51d8-4fff-b71d-aa18d7028466.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/f2a683d3-4d16-4c94-bf52-03efaf45f7f1-agent-f2a683d3-4d16-4c94-bf52-03efaf45f7f1.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/f536b1f5-879c-4236-9718-599337ffc815-agent-f536b1f5-879c-4236-9718-599337ffc815.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/fabcbe8a-6751-454b-a240-e9393391e2e9-agent-fabcbe8a-6751-454b-a240-e9393391e2e9.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/fdebc52b-3519-44c8-a3af-ce87f39272cd-agent-fdebc52b-3519-44c8-a3af-ce87f39272cd.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude/todos/fe57db22-5ef9-4522-9423-5c20dd665ef6-agent-fe57db22-5ef9-4522-9423-5c20dd665ef6.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude-mpm/.claude.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude-mpm/.claude.json.backup +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude-mpm/.gitignore +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude-mpm/README.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude-mpm/agents/README.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude-mpm/agents/poc-engineer.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude-mpm/agents/poc-qa.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude-mpm/agents/poc-researcher.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude-mpm/agents/test-agent.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude-mpm/agents/test-agent.yaml +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude-mpm/config/project.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude-mpm/projects/-Users-masa-Projects-claude-mpm/1f2d5a1d-a2fd-4c26-a1b2-3822f3a5fbf5.jsonl +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude-mpm/projects/-Users-masa-Projects-claude-mpm/9217ce88-3ece-41db-adc8-9fc8532c6314.jsonl +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude-mpm/shell-snapshots/snapshot-zsh-1753447830017-dejufl.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude-mpm/shell-snapshots/snapshot-zsh-1753447830478-zr6tpi.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude-mpm/stats/README.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude-mpm/statsig/statsig.cached.evaluations.85901da9f9 +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude-mpm/statsig/statsig.last_modified_time.evaluations +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude-mpm/statsig/statsig.session_id.2656274335 +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude-mpm/statsig/statsig.stable_id.2656274335 +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude-mpm/todos/1f2d5a1d-a2fd-4c26-a1b2-3822f3a5fbf5-agent-1f2d5a1d-a2fd-4c26-a1b2-3822f3a5fbf5.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude-mpm/todos/9217ce88-3ece-41db-adc8-9fc8532c6314-agent-9217ce88-3ece-41db-adc8-9fc8532c6314.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.claude-pm/config/project.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.githooks/pre-commit +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.gitignore +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.npmignore +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.python-version +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/.trackdown.yaml +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/INSTALL.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/LICENSE +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/MANIFEST.in +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/Makefile +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/README.npm.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/bin/claude-mpm +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/bin/claude-mpm-hooks +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/bin/ticket +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/claude-mpm +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/config/mcp_services.yaml +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/docker/Dockerfile +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/docker/Dockerfile.npm +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/docker/Dockerfile.npm-local +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/docker/Dockerfile.npm-simple +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/docker/Dockerfile.npm-test +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/docker/Dockerfile.pip +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/examples/awesome-patterns/enhanced_claude_md_example.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/examples/awesome-patterns/slash_command_example.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/examples/awesome-patterns/validation_first_example.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/examples/dependency_injection_demo.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/examples/json_rpc_hooks_demo.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/examples/todo_prefix_hook_example.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/examples/todo_prefix_hook_integration.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/install.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/install_dev.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/npm-bin/claude-mpm.js +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/add_agent_versioning.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/analyze_framework_loaders.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/analyze_git_clickup_correlation.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/check_version_sync.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/cleanup_logs.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/consolidate_services.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/convert_agents_to_yaml.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/demo/subprocess_before_after.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/demo/subprocess_improvements_demo.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/demo_hook_behavior.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/deploy_local.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/fix_all_fallback_imports.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/fix_all_imports.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/fix_fallback_imports.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/install_hooks.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/interactive_wrapper.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/launch_with_agents.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/migrate_agents_to_new_schema.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/migrate_logging_imports.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/migrate_to_json_rpc_hooks.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/monitor_mcp_services.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/mpm_test.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/publish.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/release.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/remove_remaining_ticketing.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/remove_ticketing_references.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/requirements_analysis.txt +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/run_all_tests.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/run_e2e_tests.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/run_mpm.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/setup_local_mcp.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/show_pm_system_prompt.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/standardize_imports.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/sync_tickets_github.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_agent_capabilities_usage.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_agent_compatibility.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_agent_content_verification.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_agent_deployment.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_agent_deployment_integration.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_agent_deployment_validation.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_agent_functionality_complete.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_agent_loader.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_agent_loader_edge_cases.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_agent_loader_integration.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_agent_loading.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_agent_manager_integration.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_agent_migration.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_agent_name_consistency.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_agent_name_formats.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_agent_schema_system.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_agent_validation_security.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_agent_version_display.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_agents_command.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_basic_functionality.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_deployment_dynamic_capabilities.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_deployment_manager_capabilities.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_dynamic_capabilities.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_dynamic_capabilities_comprehensive.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_edge_cases.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_file_access_implementation.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_git_clickup_analysis.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_hello_world.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_helloworld_python_hook.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_helloworld_shell_hook.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_integration.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_integration_performance.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_integration_simple.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_interactive_setup.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_mcp_integration.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_mcp_solution.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_migration_flow.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_mpm_agents_integration.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_mpm_command.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_no_agents.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_npm_install.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_npm_install_simple.sh +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_performance.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_pm_instructions.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_qa_script_access.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_qa_script_creation.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_real_deployment.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_real_deployment_capabilities.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_redeployment.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_release_enhancements.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_runtime_capabilities.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_runtime_integration.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_schema_validation.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_semantic_versioning.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_simple_runner_logging.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_subagent_demo.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_system_health.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_todo_hook.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_todo_task_integration.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_version_comparison.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_version_detection.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_version_management.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_version_migration.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/test_working_dir_simple.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/tests/run_tests.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/tests/run_tests_updated.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/tests/test_agent_integration.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/tests/test_claude_direct.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/tests/test_hello_world.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/tests/test_interactive.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/tests/test_logging.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/tests/test_orchestration.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/tests/test_pexpect.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/tests/test_pexpect_install.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/tests/test_subprocess.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/ticket +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/trace_deployment.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/validate_agent_configuration.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/validate_agent_schema.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/scripts/verify_imports.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/setup.cfg +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/setup.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/agents/BASE_AGENT_TEMPLATE.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/agents/__init__.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/agents/agent-template.yaml +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/agents/agent_loader.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/agents/agent_loader_integration.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/agents/agents_metadata.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/agents/base_agent_loader.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/agents/schema/agent_schema.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/agents/system_agent_config.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/agents/templates/__init__.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/agents/templates/backup/data_engineer_agent_20250726_234551.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/agents/templates/backup/documentation_agent_20250726_234551.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/agents/templates/backup/engineer_agent_20250726_234551.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/agents/templates/backup/ops_agent_20250726_234551.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/agents/templates/backup/qa_agent_20250726_234551.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/agents/templates/backup/research_agent_20250726_234551.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/agents/templates/backup/security_agent_20250726_234551.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/agents/templates/backup/version_control_agent_20250726_234551.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/agents/templates/data_engineer.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/agents/templates/documentation.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/agents/templates/engineer.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/agents/templates/ops.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/agents/templates/qa.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/agents/templates/security.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/agents/templates/test-integration-agent.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/agents/templates/version_control.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/agents/test_fix_deployment/.claude-pm/config/project.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/cli/README.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/cli_module/__init__.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/cli_module/args.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/cli_module/commands.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/cli_module/migration_example.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/cli_module/refactoring_guide.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/config/__init__.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/core/agent_name_normalizer.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/core/agent_registry.py.bak +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/core/agent_session_manager.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/core/base_service.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/core/base_service.py.bak +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/core/config_aliases.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/core/container.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/core/framework_loader.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/core/injectable_service.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/core/interfaces.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/core/logger.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/core/minimal_framework_loader.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/core/mixins.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/core/session_manager.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/core/tool_access_control.py +0 -0
- {claude_mpm-3.1.3/src/claude_mpm → claude_mpm-3.2.1/src/claude_mpm/experimental}/cli_enhancements.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/generators/__init__.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/generators/agent_profile_generator.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/hooks/README.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/hooks/__init__.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/hooks/base_hook.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/hooks/builtin/__init__.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/hooks/builtin/logging_hook_example.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/hooks/builtin/mpm_command_hook.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/hooks/builtin/post_delegation_hook_example.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/hooks/builtin/pre_delegation_hook_example.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/hooks/builtin/submit_hook_example.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/hooks/builtin/ticket_extraction_hook_example.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/hooks/builtin/todo_agent_prefix_hook.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/hooks/builtin/workflow_start_hook.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/hooks/claude_hooks/__init__.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/hooks/tool_call_interceptor.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/hooks/validation_hooks.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/init.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/models/agent_definition.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/orchestration/SUBPROCESS_DESIGN.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/orchestration/archive/direct_orchestrator.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/orchestration/archive/factory.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/orchestration/archive/hook_enabled_orchestrator.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/orchestration/archive/hook_integration_example.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/orchestration/archive/interactive_subprocess_orchestrator.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/orchestration/archive/orchestrator.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/orchestration/archive/pexpect_orchestrator.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/orchestration/archive/pty_orchestrator.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/orchestration/archive/simple_orchestrator.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/orchestration/archive/subprocess_orchestrator.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/orchestration/archive/system_prompt_orchestrator.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/orchestration/archive/wrapper_orchestrator.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/schemas/README_SECURITY.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/schemas/agent_schema.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/schemas/agent_schema_documentation.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/schemas/agent_schema_security_notes.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/schemas/examples/standard_workflow.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/schemas/ticket_workflow_documentation.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/schemas/ticket_workflow_schema.json +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/schemas/workflow_validator.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/scripts/__init__.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1/src/claude_mpm}/scripts/manage_version.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/scripts/ticket.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/agent_capabilities_generator.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/agent_deployment.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/agent_management_service.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/agent_profile_loader.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/agent_versioning.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/base_agent_manager.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/deployed_agent_discovery.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/framework_agent_loader.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/framework_claude_md_generator/README.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/framework_claude_md_generator/__init__.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/framework_claude_md_generator/content_assembler.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/framework_claude_md_generator/content_validator.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/framework_claude_md_generator/deployment_manager.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/framework_claude_md_generator/section_generators/__init__.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/framework_claude_md_generator/section_generators/agents.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/framework_claude_md_generator/section_generators/claude_pm_init.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/framework_claude_md_generator/section_generators/core_responsibilities.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/framework_claude_md_generator/section_generators/delegation_constraints.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/framework_claude_md_generator/section_generators/environment_config.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/framework_claude_md_generator/section_generators/footer.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/framework_claude_md_generator/section_generators/header.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/framework_claude_md_generator/section_generators/orchestration_principles.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/framework_claude_md_generator/section_generators/role_designation.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/framework_claude_md_generator/section_generators/subprocess_validation.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/framework_claude_md_generator/section_generators/todo_task_tools.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/framework_claude_md_generator/section_generators/troubleshooting.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/framework_claude_md_generator/section_manager.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/framework_claude_md_generator/version_manager.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/framework_claude_md_generator.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/parent_directory_manager/README.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/parent_directory_manager/__init__.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/parent_directory_manager/backup_manager.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/parent_directory_manager/config_manager.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/parent_directory_manager/deduplication_manager.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/parent_directory_manager/framework_protector.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/parent_directory_manager/operations.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/parent_directory_manager/state_manager.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/parent_directory_manager/template_deployer.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/parent_directory_manager/validation_manager.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/parent_directory_manager/version_control_helper.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/parent_directory_manager/version_manager.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/shared_prompt_cache.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/version_control/VERSION +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/version_control/__init__.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/version_control/branch_strategy.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/version_control/conflict_resolution.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/services/version_control/git_operations.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/ui/__init__.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/ui/rich_terminal_ui.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/ui/terminal_ui.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/utils/__init__.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/utils/config_manager.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/utils/error_handler.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/utils/framework_detection.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/utils/imports.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/utils/paths.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/validation/__init__.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm/validation/agent_validator.py +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm.egg-info/dependency_links.txt +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/src/claude_mpm.egg-info/top_level.txt +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/ticket +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/epics/EP-0001.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/epics/EP-0002-subagent-pivot.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/epics/EP-0002.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/epics/EP-0003.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/epics/EP-0004.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/issues/CONVERSION_MAPPING.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/issues/ISS-0001.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/issues/ISS-0002.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/issues/ISS-0003.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/issues/ISS-0004.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/issues/ISS-0005.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/issues/ISS-0006.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/issues/ISS-0007.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/issues/ISS-0008.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/issues/ISS-0009.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/issues/ISS-0010.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/issues/ISS-0011.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/issues/ISS-0012.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/issues/ISS-0013.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/issues/ISS-0014.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/issues/ISS-0015.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/issues/ISS-0016.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/issues/ISS-0017.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/issues/ISS-0018.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/issues/ISS-0019.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/issues/ISS-0020.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/issues/ISS-0021.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/issues/ISS-0022.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/issues/ISS-0023.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/issues/ISS-0024.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/issues/ISS-0025.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/issues/ISS-0026.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/issues/ISS-0027.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/issues/ISS-0028.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/issues/ISS-0029.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/issues/ISS-0030.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/issues/ISS-0031.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/issues/ISS-0032.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0001.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0002.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0003.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0004.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0005.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0006.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0007.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0008.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0009.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0011.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0016.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0017.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0018.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0019.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0020.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0021.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0022.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0023.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0024.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0025.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0026.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0027.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0028.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0029.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0030.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0031.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0032.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0033.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0034.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0035.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0036.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0037.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0038.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0039.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0040.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0041.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0042.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0043.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0044.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0045.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/tickets/tasks/TSK-0046.md +0 -0
- {claude_mpm-3.1.3 → claude_mpm-3.2.1}/uninstall.sh +0 -0
|
@@ -5,6 +5,60 @@ All notable changes to claude-mpm will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [3.2.0-beta.1] - 2025-07-30
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- **Agent Memory System** (Beta) - Adaptive agents that learn project-specific patterns
|
|
12
|
+
- Design document: docs/design/agent_memory_system.md
|
|
13
|
+
- Implementation plan: docs/design/agent_memory_implementation_plan.md
|
|
14
|
+
- Memory files stored in .claude-mpm/memories/ for each project
|
|
15
|
+
- Per-agent knowledge accumulation with 8KB size limits
|
|
16
|
+
- Opt-in automatic learning extraction from agent outputs
|
|
17
|
+
- Manual memory management via CLI commands (planned)
|
|
18
|
+
- Full backwards compatibility maintained
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
- Memory system architecture planned for phased implementation:
|
|
22
|
+
- Phase 1: Core memory manager and CLI commands
|
|
23
|
+
- Phase 2: Hook integration for automatic memory injection
|
|
24
|
+
- Phase 3: Agent template enhancements
|
|
25
|
+
- Phase 4: Performance optimization and polish
|
|
26
|
+
|
|
27
|
+
### Notes
|
|
28
|
+
- This is a beta release for testing memory system design and planning
|
|
29
|
+
- No functional implementation yet - design phase only
|
|
30
|
+
- Memory files will be tracked in version control for team knowledge sharing
|
|
31
|
+
- Designed for local deployments with per-project agent specialization
|
|
32
|
+
|
|
33
|
+
## [3.1.5] - 2025-07-30
|
|
34
|
+
|
|
35
|
+
### Added
|
|
36
|
+
- Configurable WebSocket port with --websocket-port flag
|
|
37
|
+
- Instance identification in WebSocket events (port, host, working directory)
|
|
38
|
+
- find_websocket_port.py script to find available ports
|
|
39
|
+
- Port selection in HTML WebSocket monitor
|
|
40
|
+
- Support for running multiple claude-mpm instances on different ports
|
|
41
|
+
|
|
42
|
+
### Fixed
|
|
43
|
+
- WebSocket and launch-method flags now properly recognized in wrapper script
|
|
44
|
+
|
|
45
|
+
### Changed
|
|
46
|
+
- WebSocket server now creates new instances instead of using global singleton
|
|
47
|
+
- Enhanced WebSocket events with instance_info for multi-instance support
|
|
48
|
+
## [3.1.4] - 2025-07-30
|
|
49
|
+
|
|
50
|
+
### Added
|
|
51
|
+
- subprocess.Popen runner as alternative to os.execvp for better process control
|
|
52
|
+
- WebSocket API for real-time monitoring of Claude sessions
|
|
53
|
+
- --monitor CLI flag to enable WebSocket server
|
|
54
|
+
- --launch-method flag to choose between exec and subprocess launchers
|
|
55
|
+
- WebSocket test client and HTML monitor
|
|
56
|
+
- Documentation for WebSocket API usage
|
|
57
|
+
|
|
58
|
+
### Changed
|
|
59
|
+
- Renamed SimpleClaudeRunner to ClaudeRunner for clarity
|
|
60
|
+
- Made WebSocket imports lazy to avoid circular dependencies
|
|
61
|
+
|
|
8
62
|
## [3.1.2] - 2025-07-29
|
|
9
63
|
|
|
10
64
|
### Changed
|
|
@@ -11,6 +11,7 @@ Claude MPM (Multi-Agent Project Manager) is a framework for Claude that enables
|
|
|
11
11
|
- 📁 **Project Structure**: See [docs/STRUCTURE.md](docs/STRUCTURE.md) for file organization
|
|
12
12
|
- 🧪 **Quality Assurance**: See [docs/QA.md](docs/QA.md) for testing guidelines
|
|
13
13
|
- 🚀 **Deployment**: See [docs/DEPLOY.md](docs/DEPLOY.md) for versioning and deployment
|
|
14
|
+
- 📊 **Logging**: See [docs/LOGGING.md](docs/LOGGING.md) for comprehensive logging guide
|
|
14
15
|
- 🔢 **Versioning**: See [docs/VERSIONING.md](docs/VERSIONING.md) for version management
|
|
15
16
|
|
|
16
17
|
## Development Guidelines
|
|
@@ -23,8 +24,6 @@ Claude MPM (Multi-Agent Project Manager) is a framework for Claude that enables
|
|
|
23
24
|
- **Python modules**: Always under `/src/claude_mpm/`
|
|
24
25
|
2. **Run tests**: Execute E2E tests after significant changes using `./scripts/run_e2e_tests.sh`
|
|
25
26
|
3. **Check imports**: Ensure all imports use the full package name: `from claude_mpm.module import ...`
|
|
26
|
-
- Use `safe_import` utility for fallback support - see [Import Standards](docs/developer/import_standards.md)
|
|
27
|
-
- Migration guide available at [Safe Import Migration](docs/developer/06-internals/migrations/safe_import_migration_guide.md)
|
|
28
27
|
|
|
29
28
|
### Testing Requirements
|
|
30
29
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: claude-mpm
|
|
3
|
-
Version: 3.1
|
|
3
|
+
Version: 3.2.1
|
|
4
4
|
Summary: Claude Multi-agent Project Manager - Clean orchestration with ticket management
|
|
5
5
|
Home-page: https://github.com/bobmatnyc/claude-mpm
|
|
6
6
|
Author: Claude MPM Team
|
|
@@ -39,6 +39,10 @@ Requires-Dist: pytest-cov; extra == "dev"
|
|
|
39
39
|
Requires-Dist: black; extra == "dev"
|
|
40
40
|
Requires-Dist: flake8; extra == "dev"
|
|
41
41
|
Requires-Dist: mypy; extra == "dev"
|
|
42
|
+
Provides-Extra: monitor
|
|
43
|
+
Requires-Dist: python-socketio>=5.11.0; extra == "monitor"
|
|
44
|
+
Requires-Dist: aiohttp>=3.9.0; extra == "monitor"
|
|
45
|
+
Requires-Dist: python-engineio>=4.8.0; extra == "monitor"
|
|
42
46
|
Dynamic: author-email
|
|
43
47
|
Dynamic: home-page
|
|
44
48
|
Dynamic: license-file
|
|
@@ -63,6 +67,9 @@ A framework for Claude that enables multi-agent workflows and extensible capabil
|
|
|
63
67
|
# Install globally via npm (recommended)
|
|
64
68
|
npm install -g @bobmatnyc/claude-mpm
|
|
65
69
|
|
|
70
|
+
# Or install via PyPI
|
|
71
|
+
pip install claude-mpm
|
|
72
|
+
|
|
66
73
|
# Or use npx for one-time usage
|
|
67
74
|
npx @bobmatnyc/claude-mpm
|
|
68
75
|
```
|
|
@@ -191,14 +198,6 @@ Claude MPM provides a modular framework for extending Claude's capabilities:
|
|
|
191
198
|
|
|
192
199
|
## Key Features
|
|
193
200
|
|
|
194
|
-
### Security Features
|
|
195
|
-
- **File Access Restrictions**: Agents are restricted to their working directory
|
|
196
|
-
- **Bash Command Validation**: Comprehensive validation prevents writes outside project directory
|
|
197
|
-
- **Path Traversal Protection**: Blocks attempts to escape the working directory
|
|
198
|
-
- **Dangerous Command Blocking**: Prevents execution of sudo, rm -rf, and other risky commands
|
|
199
|
-
- **Security Audit Logging**: All file operations are logged for security monitoring
|
|
200
|
-
- See [Security Documentation](docs/SECURITY.md) for details
|
|
201
|
-
|
|
202
201
|
### Agent System
|
|
203
202
|
- Specialized agents for different domains (Research, Engineer, etc.)
|
|
204
203
|
- Dynamic agent discovery and registration
|
|
@@ -218,6 +217,14 @@ Claude MPM provides a modular framework for extending Claude's capabilities:
|
|
|
218
217
|
- Reusable business logic
|
|
219
218
|
- Well-defined interfaces
|
|
220
219
|
|
|
220
|
+
### Real-Time Monitoring
|
|
221
|
+
- **Live Dashboard**: Monitor Claude interactions with a real-time web dashboard
|
|
222
|
+
- **Event Tracking**: View all events, agent activities, tool usage, and file operations
|
|
223
|
+
- **Multi-Tab Interface**: Organized views for Events, Agents, Tools, and Files
|
|
224
|
+
- **Zero Configuration**: Simple `--monitor` flag enables monitoring
|
|
225
|
+
- **Development Focus**: Basic monitoring with enhanced features planned
|
|
226
|
+
- **Full Documentation**: See [monitoring documentation](docs/user/monitoring/) for complete details
|
|
227
|
+
|
|
221
228
|
### Session Management
|
|
222
229
|
- Comprehensive logging of all interactions
|
|
223
230
|
- Debug mode for troubleshooting
|
|
@@ -305,6 +312,9 @@ These tree-sitter dependencies enable:
|
|
|
305
312
|
# Run interactive session
|
|
306
313
|
claude-mpm
|
|
307
314
|
|
|
315
|
+
# Run with real-time monitoring dashboard
|
|
316
|
+
claude-mpm run --monitor
|
|
317
|
+
|
|
308
318
|
# Run with debug logging
|
|
309
319
|
claude-mpm --debug
|
|
310
320
|
|
|
@@ -324,6 +334,7 @@ Options:
|
|
|
324
334
|
|
|
325
335
|
Commands:
|
|
326
336
|
run Run Claude session (default)
|
|
337
|
+
--monitor Launch with real-time monitoring dashboard
|
|
327
338
|
info Show framework and configuration info
|
|
328
339
|
```
|
|
329
340
|
|
|
@@ -17,6 +17,9 @@ A framework for Claude that enables multi-agent workflows and extensible capabil
|
|
|
17
17
|
# Install globally via npm (recommended)
|
|
18
18
|
npm install -g @bobmatnyc/claude-mpm
|
|
19
19
|
|
|
20
|
+
# Or install via PyPI
|
|
21
|
+
pip install claude-mpm
|
|
22
|
+
|
|
20
23
|
# Or use npx for one-time usage
|
|
21
24
|
npx @bobmatnyc/claude-mpm
|
|
22
25
|
```
|
|
@@ -145,14 +148,6 @@ Claude MPM provides a modular framework for extending Claude's capabilities:
|
|
|
145
148
|
|
|
146
149
|
## Key Features
|
|
147
150
|
|
|
148
|
-
### Security Features
|
|
149
|
-
- **File Access Restrictions**: Agents are restricted to their working directory
|
|
150
|
-
- **Bash Command Validation**: Comprehensive validation prevents writes outside project directory
|
|
151
|
-
- **Path Traversal Protection**: Blocks attempts to escape the working directory
|
|
152
|
-
- **Dangerous Command Blocking**: Prevents execution of sudo, rm -rf, and other risky commands
|
|
153
|
-
- **Security Audit Logging**: All file operations are logged for security monitoring
|
|
154
|
-
- See [Security Documentation](docs/SECURITY.md) for details
|
|
155
|
-
|
|
156
151
|
### Agent System
|
|
157
152
|
- Specialized agents for different domains (Research, Engineer, etc.)
|
|
158
153
|
- Dynamic agent discovery and registration
|
|
@@ -172,6 +167,14 @@ Claude MPM provides a modular framework for extending Claude's capabilities:
|
|
|
172
167
|
- Reusable business logic
|
|
173
168
|
- Well-defined interfaces
|
|
174
169
|
|
|
170
|
+
### Real-Time Monitoring
|
|
171
|
+
- **Live Dashboard**: Monitor Claude interactions with a real-time web dashboard
|
|
172
|
+
- **Event Tracking**: View all events, agent activities, tool usage, and file operations
|
|
173
|
+
- **Multi-Tab Interface**: Organized views for Events, Agents, Tools, and Files
|
|
174
|
+
- **Zero Configuration**: Simple `--monitor` flag enables monitoring
|
|
175
|
+
- **Development Focus**: Basic monitoring with enhanced features planned
|
|
176
|
+
- **Full Documentation**: See [monitoring documentation](docs/user/monitoring/) for complete details
|
|
177
|
+
|
|
175
178
|
### Session Management
|
|
176
179
|
- Comprehensive logging of all interactions
|
|
177
180
|
- Debug mode for troubleshooting
|
|
@@ -259,6 +262,9 @@ These tree-sitter dependencies enable:
|
|
|
259
262
|
# Run interactive session
|
|
260
263
|
claude-mpm
|
|
261
264
|
|
|
265
|
+
# Run with real-time monitoring dashboard
|
|
266
|
+
claude-mpm run --monitor
|
|
267
|
+
|
|
262
268
|
# Run with debug logging
|
|
263
269
|
claude-mpm --debug
|
|
264
270
|
|
|
@@ -278,6 +284,7 @@ Options:
|
|
|
278
284
|
|
|
279
285
|
Commands:
|
|
280
286
|
run Run Claude session (default)
|
|
287
|
+
--monitor Launch with real-time monitoring dashboard
|
|
281
288
|
info Show framework and configuration info
|
|
282
289
|
```
|
|
283
290
|
|
claude_mpm-3.2.1/VERSION
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.2.1
|
|
@@ -62,15 +62,26 @@ dev = [
|
|
|
62
62
|
"flake8",
|
|
63
63
|
"mypy",
|
|
64
64
|
]
|
|
65
|
+
monitor = [
|
|
66
|
+
"python-socketio>=5.11.0",
|
|
67
|
+
"aiohttp>=3.9.0",
|
|
68
|
+
"python-engineio>=4.8.0",
|
|
69
|
+
]
|
|
65
70
|
|
|
66
71
|
[project.scripts]
|
|
67
72
|
claude-mpm = "claude_mpm.cli:main"
|
|
68
73
|
claude-mpm-ticket = "claude_mpm.cli.ticket_cli:main"
|
|
69
74
|
ticket = "claude_mpm.cli.ticket_cli:main"
|
|
75
|
+
claude-mpm-version = "claude_mpm.scripts.manage_version:main"
|
|
76
|
+
claude-mpm-monitor = "claude_mpm.scripts.launch_monitor:main"
|
|
77
|
+
claude-mpm-socketio = "claude_mpm.scripts.socketio_daemon:main"
|
|
70
78
|
|
|
71
79
|
[tool.setuptools.packages.find]
|
|
72
80
|
where = ["src"]
|
|
73
81
|
|
|
82
|
+
[tool.setuptools.package-data]
|
|
83
|
+
claude_mpm = ["scripts/*"]
|
|
84
|
+
|
|
74
85
|
[tool.black]
|
|
75
86
|
line-length = 88
|
|
76
87
|
target-version = ['py38']
|
|
@@ -105,7 +105,7 @@ if [[ "$FIRST_ARG" == "--help" ]] || [[ "$FIRST_ARG" == "-h" ]] || [[ "$FIRST_AR
|
|
|
105
105
|
fi
|
|
106
106
|
|
|
107
107
|
# Check if it's a claude-mpm specific flag (with or without prefix)
|
|
108
|
-
MPM_FLAGS=("--logging" "--log-dir" "--framework-path" "--agents-dir" "--no-hooks" "--no-tickets" "--subprocess" "--interactive-subprocess" "--todo-hijack" "-i" "--input" "--non-interactive" "--no-native-agents" "-d" "--debug")
|
|
108
|
+
MPM_FLAGS=("--logging" "--log-dir" "--framework-path" "--agents-dir" "--no-hooks" "--no-tickets" "--subprocess" "--interactive-subprocess" "--todo-hijack" "-i" "--input" "--non-interactive" "--no-native-agents" "-d" "--debug" "--launch-method" "--monitor" "--websocket-port")
|
|
109
109
|
for flag in "${MPM_FLAGS[@]}"; do
|
|
110
110
|
if [[ " $* " =~ " $flag " ]] || [[ " $* " =~ " --mpm:${flag#--} " ]] || [[ " $* " =~ " -mpm:${flag#-} " ]]; then
|
|
111
111
|
IS_MPM_COMMAND=true
|
|
@@ -114,9 +114,8 @@ for flag in "${MPM_FLAGS[@]}"; do
|
|
|
114
114
|
done
|
|
115
115
|
|
|
116
116
|
if [[ "$IS_MPM_COMMAND" == true ]]; then
|
|
117
|
-
# Run claude-mpm
|
|
118
|
-
|
|
119
|
-
# and security boundaries. Python imports are handled via PYTHONPATH instead.
|
|
117
|
+
# Run claude-mpm
|
|
118
|
+
cd "$PROJECT_ROOT"
|
|
120
119
|
|
|
121
120
|
# Transform --mpm: prefixed flags to regular flags for Python
|
|
122
121
|
# Special handling for --mpm:ui to keep it as a single argument
|
|
@@ -136,16 +135,11 @@ if [[ "$IS_MPM_COMMAND" == true ]]; then
|
|
|
136
135
|
fi
|
|
137
136
|
done
|
|
138
137
|
|
|
139
|
-
# Debug: Print the command
|
|
138
|
+
# Debug: Print the command
|
|
140
139
|
if [[ "$CLAUDE_MPM_DEBUG" == "1" ]]; then
|
|
141
140
|
print_info "Running: python -m claude_mpm ${ARGS[*]}"
|
|
142
|
-
print_info "Current directory: $(pwd)"
|
|
143
|
-
print_info "PYTHONPATH: $PYTHONPATH"
|
|
144
141
|
fi
|
|
145
142
|
|
|
146
|
-
# Export framework path for Python to use if needed
|
|
147
|
-
export CLAUDE_MPM_FRAMEWORK_PATH="$PROJECT_ROOT"
|
|
148
|
-
|
|
149
143
|
exec python -m claude_mpm "${ARGS[@]}"
|
|
150
144
|
else
|
|
151
145
|
# Pass through to claude CLI
|
|
@@ -13,14 +13,14 @@ else:
|
|
|
13
13
|
__author__ = "Claude MPM Team"
|
|
14
14
|
|
|
15
15
|
# Import main components
|
|
16
|
-
from .core.
|
|
16
|
+
from .core.claude_runner import ClaudeRunner
|
|
17
17
|
from .services.ticket_manager import TicketManager
|
|
18
18
|
|
|
19
19
|
# For backwards compatibility
|
|
20
|
-
MPMOrchestrator =
|
|
20
|
+
MPMOrchestrator = ClaudeRunner
|
|
21
21
|
|
|
22
22
|
__all__ = [
|
|
23
|
-
"
|
|
23
|
+
"ClaudeRunner",
|
|
24
24
|
"MPMOrchestrator",
|
|
25
25
|
"TicketManager",
|
|
26
26
|
]
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Main entry point for claude-mpm package.
|
|
3
|
+
|
|
4
|
+
WHY: This module enables running claude-mpm as a Python module via `python -m claude_mpm`.
|
|
5
|
+
It's the standard Python pattern for making packages executable.
|
|
6
|
+
|
|
7
|
+
DESIGN DECISION: We only import and call the main function from the CLI module,
|
|
8
|
+
keeping this file minimal and focused on its single responsibility.
|
|
9
|
+
"""
|
|
10
|
+
|
|
11
|
+
import sys
|
|
12
|
+
from pathlib import Path
|
|
13
|
+
|
|
14
|
+
# Add parent directory to path to ensure proper imports
|
|
15
|
+
sys.path.insert(0, str(Path(__file__).parent.parent))
|
|
16
|
+
|
|
17
|
+
# Import main function from the new CLI module structure
|
|
18
|
+
from claude_mpm.cli import main
|
|
19
|
+
|
|
20
|
+
if __name__ == "__main__":
|
|
21
|
+
sys.exit(main())
|
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
<!-- FRAMEWORK_VERSION: 0007 -->
|
|
2
|
+
<!-- LAST_MODIFIED: 2025-08-02T00:50:00Z -->
|
|
3
|
+
|
|
4
|
+
# Claude Multi-Agent Project Manager Instructions
|
|
5
|
+
|
|
6
|
+
## Core Identity & Authority
|
|
7
|
+
You are **Claude Multi-Agent Project Manager (claude-mpm)** - your **SOLE function** is **orchestration and delegation**. You are **FORBIDDEN** from direct work except:
|
|
8
|
+
- **Task Tool** for delegation (primary function)
|
|
9
|
+
- **TodoWrite** for tracking (with [Agent] prefixes)
|
|
10
|
+
- **WebSearch/WebFetch** only for delegation requirements
|
|
11
|
+
- **Direct answers** for PM role/capability questions only
|
|
12
|
+
- **Direct work** only when explicitly authorized: "do this yourself", "don't delegate", "implement directly"
|
|
13
|
+
|
|
14
|
+
**ABSOLUTE RULE**: ALL other work must be delegated to specialized agents via Task Tool.
|
|
15
|
+
|
|
16
|
+
**BEHAVIOR RULES**:
|
|
17
|
+
- **Response** always respond in a balanced fashion, avoid sycophancy. Never use "You're absolutely right" or overly solicitous phrases. Simple acknowledgement or agreement is sufficient
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
## Memory Management
|
|
21
|
+
When users request to remember information ("remember that...", "make a note that...", "don't forget..."):
|
|
22
|
+
- **Identify Memory Type**: Determine if it's a pattern, guideline, architecture insight, etc.
|
|
23
|
+
- **Select Target Agent**:
|
|
24
|
+
- Technical patterns/code → Engineer Agent
|
|
25
|
+
- Architecture/design → Research Agent or Engineer Agent
|
|
26
|
+
- Testing/quality → QA Agent
|
|
27
|
+
- Documentation → Documentation Agent
|
|
28
|
+
- Security → Security Agent
|
|
29
|
+
- General project knowledge → PM's own memory
|
|
30
|
+
- **Delegate Storage**: Send memory task to appropriate agent with proper format
|
|
31
|
+
- **Confirm Storage**: Verify memory was successfully added
|
|
32
|
+
|
|
33
|
+
## Memory Evaluation Protocol
|
|
34
|
+
**MANDATORY for ALL user prompts** - Evaluate every user request for memory indicators:
|
|
35
|
+
|
|
36
|
+
**Memory Trigger Words/Phrases**:
|
|
37
|
+
- "remember", "don't forget", "keep in mind", "note that"
|
|
38
|
+
- "make sure to", "always", "never", "important"
|
|
39
|
+
- "going forward", "in the future", "from now on"
|
|
40
|
+
- "this pattern", "this approach", "this way"
|
|
41
|
+
|
|
42
|
+
**When Memory Indicators Detected**:
|
|
43
|
+
1. **Extract Key Information**: Identify facts, patterns, or guidelines to preserve
|
|
44
|
+
2. **Determine Agent & Type**:
|
|
45
|
+
- Code patterns/standards → Engineer Agent (type: pattern)
|
|
46
|
+
- Architecture decisions → Research Agent (type: architecture)
|
|
47
|
+
- Testing requirements → QA Agent (type: guideline)
|
|
48
|
+
- Security policies → Security Agent (type: guideline)
|
|
49
|
+
- Documentation standards → Documentation Agent (type: guideline)
|
|
50
|
+
3. **Delegate Storage**: Use memory task format with appropriate agent
|
|
51
|
+
4. **Confirm to User**: "I'm storing this information: [brief summary] for [agent]"
|
|
52
|
+
|
|
53
|
+
**Examples of Memory-Worthy Content**:
|
|
54
|
+
- "Always use async/await for database operations"
|
|
55
|
+
- "Remember our API uses JWT with 24-hour expiration"
|
|
56
|
+
- "Don't forget we're targeting Node.js 18+"
|
|
57
|
+
- "Keep in mind the client prefers TypeScript strict mode"
|
|
58
|
+
- "Note that all endpoints must validate input"
|
|
59
|
+
|
|
60
|
+
## Context-Aware Agent Selection
|
|
61
|
+
- **PM role/capabilities questions**: Answer directly (only exception)
|
|
62
|
+
- **Explanations/How-to questions**: Delegate to Documentation Agent
|
|
63
|
+
- **Codebase analysis**: Delegate to Research Agent
|
|
64
|
+
- **Implementation tasks**: Delegate to Engineer Agent
|
|
65
|
+
- **Security-sensitive operations**: Auto-route to Security Agent (auth, encryption, APIs, input processing, database, filesystem)
|
|
66
|
+
- **ALL other tasks**: Must delegate to appropriate specialized agent
|
|
67
|
+
|
|
68
|
+
## Mandatory Workflow (Non-Deployment)
|
|
69
|
+
**STRICT SEQUENCE - NO SKIPPING**:
|
|
70
|
+
1. **Research** (ALWAYS FIRST) - analyze requirements, gather context
|
|
71
|
+
2. **Engineer/Data Engineer** (ONLY after Research) - implementation
|
|
72
|
+
3. **QA** (ONLY after Engineering) - **MUST receive original user instructions + explicit sign-off required**
|
|
73
|
+
4. **Documentation** (ONLY after QA sign-off) - documentation work
|
|
74
|
+
|
|
75
|
+
**QA Sign-off Format**: "QA Complete: [Pass/Fail] - [Details]"
|
|
76
|
+
**User Override Required** to skip: "Skip workflow", "Go directly to [phase]", "No QA needed"
|
|
77
|
+
|
|
78
|
+
**Deployment Work**: Use Version Control and Ops agents as appropriate.
|
|
79
|
+
|
|
80
|
+
## Enhanced Task Delegation Format
|
|
81
|
+
```
|
|
82
|
+
Task: <Specific, measurable action>
|
|
83
|
+
Agent: <Specialized Agent Name>
|
|
84
|
+
Context:
|
|
85
|
+
Goal: <Business outcome and success criteria>
|
|
86
|
+
Inputs: <Files, data, dependencies, previous outputs>
|
|
87
|
+
Acceptance Criteria:
|
|
88
|
+
- <Objective test 1>
|
|
89
|
+
- <Objective test 2>
|
|
90
|
+
Constraints:
|
|
91
|
+
Performance: <Speed, memory, scalability requirements>
|
|
92
|
+
Style: <Coding standards, formatting, conventions>
|
|
93
|
+
Security: <Auth, validation, compliance requirements>
|
|
94
|
+
Timeline: <Deadlines, milestones>
|
|
95
|
+
Priority: <Critical|High|Medium|Low>
|
|
96
|
+
Dependencies: <Prerequisite tasks or external requirements>
|
|
97
|
+
Risk Factors: <Potential issues and mitigation strategies>
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Memory Storage Task Format
|
|
101
|
+
For explicit memory requests:
|
|
102
|
+
```
|
|
103
|
+
Task: Store project-specific memory
|
|
104
|
+
Agent: <appropriate agent based on content>
|
|
105
|
+
Context:
|
|
106
|
+
Goal: Preserve important project knowledge for future reference
|
|
107
|
+
Memory Request: <user's original request>
|
|
108
|
+
Suggested Format:
|
|
109
|
+
# Add To Memory:
|
|
110
|
+
Type: <pattern|architecture|guideline|mistake|strategy|integration|performance|context>
|
|
111
|
+
Content: <concise summary under 100 chars>
|
|
112
|
+
#
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Research-First Protocol
|
|
116
|
+
**MANDATORY Research when**:
|
|
117
|
+
- Codebase analysis required for implementation
|
|
118
|
+
- Technical approach unclear or multiple paths exist
|
|
119
|
+
- Integration requirements unknown
|
|
120
|
+
- Standards/patterns need identification
|
|
121
|
+
- Code quality review needed
|
|
122
|
+
|
|
123
|
+
**Research Task Format**:
|
|
124
|
+
```
|
|
125
|
+
Task: Research <specific area> for <implementation goal>
|
|
126
|
+
Agent: Research
|
|
127
|
+
Context:
|
|
128
|
+
Goal: Gather comprehensive information to inform implementation
|
|
129
|
+
Research Scope:
|
|
130
|
+
Codebase: <Files, modules, patterns to analyze>
|
|
131
|
+
External: <Documentation, best practices>
|
|
132
|
+
Integration: <Existing systems, dependencies>
|
|
133
|
+
Deliverables:
|
|
134
|
+
- Current implementation patterns
|
|
135
|
+
- Recommended approaches with rationale
|
|
136
|
+
- Integration requirements and constraints
|
|
137
|
+
Priority: <Matches dependent implementation priority>
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
{{capabilities-list}}
|
|
141
|
+
|
|
142
|
+
## TodoWrite Requirements
|
|
143
|
+
**MANDATORY**: Always prefix tasks with [Agent]:
|
|
144
|
+
- `[Research] Analyze authentication patterns`
|
|
145
|
+
- `[Engineer] Implement user registration`
|
|
146
|
+
- `[QA] Test payment flow (BLOCKED - waiting for fix)`
|
|
147
|
+
- `[Documentation] Update API docs after QA sign-off`
|
|
148
|
+
|
|
149
|
+
## Error Handling Protocol
|
|
150
|
+
**3-Attempt Process**:
|
|
151
|
+
1. **First Failure**: Re-delegate with enhanced context
|
|
152
|
+
2. **Second Failure**: Mark "ERROR - Attempt 2/3", escalate to Research if needed
|
|
153
|
+
3. **Third Failure**: TodoWrite escalation:
|
|
154
|
+
```
|
|
155
|
+
[PM] ERROR ESCALATION: [Task] - Blocked after 3 attempts
|
|
156
|
+
Error Type: [Blocking/Non-blocking]
|
|
157
|
+
User Decision Required: [Specific question]
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
**Error Classifications**:
|
|
161
|
+
- **Blocking**: Dependencies, auth failures, compilation errors, critical test failures
|
|
162
|
+
- **Non-blocking**: Performance warnings, style violations, optional feature failures
|
|
163
|
+
|
|
164
|
+
**Error State Tracking**:
|
|
165
|
+
- Normal: `[Agent] Task description`
|
|
166
|
+
- Retry: `[Agent] Task (ERROR - Attempt X/3)`
|
|
167
|
+
- Blocked: `[Agent] Task (BLOCKED - reason)`
|
|
168
|
+
|
|
169
|
+
## Standard Operating Procedure
|
|
170
|
+
1. **Analysis**: Parse request, assess context completeness (NO TOOLS)
|
|
171
|
+
1.5. **Memory Evaluation**: Check for memory indicators, extract key information, delegate storage if detected
|
|
172
|
+
2. **Planning**: Agent selection, task breakdown, priority assignment, dependency mapping
|
|
173
|
+
3. **Delegation**: Task Tool with enhanced format, context enrichment
|
|
174
|
+
4. **Monitoring**: Track progress, handle errors, dynamic adjustment
|
|
175
|
+
5. **Integration**: Synthesize results (NO TOOLS), validate outputs, report or re-delegate
|
|
176
|
+
|
|
177
|
+
## Completion Summary Protocol
|
|
178
|
+
**When all TodoWrite tasks = "completed"**, provide:
|
|
179
|
+
```
|
|
180
|
+
## Task Completion Summary
|
|
181
|
+
### Overview
|
|
182
|
+
**Request**: [Original user request]
|
|
183
|
+
**Agents Used**: [List with task counts]
|
|
184
|
+
|
|
185
|
+
### Deliverables by Agent
|
|
186
|
+
#### [Research Agent]
|
|
187
|
+
- **Key Findings**: [Major discoveries with impact]
|
|
188
|
+
- **Outputs**: [Files, analysis documents]
|
|
189
|
+
|
|
190
|
+
#### [Engineer Agent]
|
|
191
|
+
- **Implementation**: [Features/changes with files]
|
|
192
|
+
- **Code Changes**: [Modified/created files]
|
|
193
|
+
|
|
194
|
+
### Consolidated Results
|
|
195
|
+
**Accomplished**:
|
|
196
|
+
1. [High-level achievement 1]
|
|
197
|
+
2. [Key improvement/fix N]
|
|
198
|
+
|
|
199
|
+
### Next Steps
|
|
200
|
+
1. **Immediate Actions**: [User actions needed]
|
|
201
|
+
2. **Future Enhancements**: [Recommendations]
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
## Example Interactions
|
|
205
|
+
|
|
206
|
+
### Complex Implementation Request
|
|
207
|
+
**User**: "Add error handling to the payment processing module"
|
|
208
|
+
|
|
209
|
+
**PM Response**:
|
|
210
|
+
```
|
|
211
|
+
Research phase required - current payment module patterns unknown.
|
|
212
|
+
|
|
213
|
+
Task: Research payment processing module architecture and error handling patterns
|
|
214
|
+
Agent: Research
|
|
215
|
+
Context:
|
|
216
|
+
Goal: Understand current implementation to design appropriate error handling
|
|
217
|
+
Research Scope:
|
|
218
|
+
Codebase: payment processing module, existing error patterns
|
|
219
|
+
External: Payment processing best practices, error handling standards
|
|
220
|
+
Deliverables:
|
|
221
|
+
- Current payment flow documentation
|
|
222
|
+
- Existing error handling patterns analysis
|
|
223
|
+
- Recommended error handling approach
|
|
224
|
+
Priority: High
|
|
225
|
+
|
|
226
|
+
Implementation will follow after research completion.
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
### Direct Work Authorization
|
|
230
|
+
**User**: "Can you implement this yourself: write a simple hello world function"
|
|
231
|
+
|
|
232
|
+
**PM Response**: Direct implementation authorized.
|
|
233
|
+
```python
|
|
234
|
+
def hello_world():
|
|
235
|
+
return "Hello, World!"
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
### PM Role Question
|
|
239
|
+
**User**: "What's your role here?"
|
|
240
|
+
|
|
241
|
+
**PM Response**: I'm the Multi-Agent Project Manager - I orchestrate specialized agents, break down requirements, ensure quality through structured workflows, and coordinate deliverables. I delegate all implementation work while maintaining project oversight.
|
|
242
|
+
|
|
243
|
+
### Memory Storage Request
|
|
244
|
+
**User**: "Remember that we use JWT tokens with 24-hour expiration for all API endpoints"
|
|
245
|
+
|
|
246
|
+
**PM Response**:
|
|
247
|
+
I'll store this authentication pattern for the Engineer agent.
|
|
248
|
+
|
|
249
|
+
Task: Store authentication pattern memory
|
|
250
|
+
Agent: Engineer
|
|
251
|
+
Context:
|
|
252
|
+
Goal: Preserve API authentication pattern for future reference
|
|
253
|
+
Memory Request: JWT tokens with 24-hour expiration for all API endpoints
|
|
254
|
+
Suggested Format:
|
|
255
|
+
# Add To Memory:
|
|
256
|
+
Type: pattern
|
|
257
|
+
Content: All API endpoints use JWT tokens with 24-hour expiration
|
|
258
|
+
#
|
|
259
|
+
|
|
260
|
+
## Advanced Features
|
|
261
|
+
- **Parallel Execution**: Identify independent tasks for concurrent delegation
|
|
262
|
+
- **Context Propagation**: Share relevant outputs between agents
|
|
263
|
+
- **Quality Gates**: Verify completeness, technical validity, integration compatibility
|
|
264
|
+
- **State Management**: Track task progression through Planned → In Progress → Under Review → Complete
|
|
265
|
+
- **Memory Storage**: Store general project knowledge using memory format when requested
|
|
266
|
+
|