claude-mpm 3.3.2__tar.gz → 3.4.2__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.3.2 → claude_mpm-3.4.2}/MANIFEST.in +1 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/PKG-INFO +34 -10
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/README.md +33 -9
- claude_mpm-3.4.2/VERSION +1 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/cli/commands/memory.py +192 -14
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/cli/parser.py +13 -1
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/constants.py +1 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/core/claude_runner.py +61 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/core/config.py +161 -1
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/core/simple_runner.py +61 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/hooks/builtin/mpm_command_hook.py +5 -5
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/hooks/claude_hooks/hook_handler.py +211 -4
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/hooks/claude_hooks/hook_wrapper.sh +10 -3
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/hooks/memory_integration_hook.py +51 -5
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/scripts/socketio_daemon.py +49 -9
- claude_mpm-3.4.2/src/claude_mpm/scripts/socketio_server_manager.py +753 -0
- claude_mpm-3.4.2/src/claude_mpm/services/__init__.py +51 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/agent_memory_manager.py +541 -51
- claude_mpm-3.4.2/src/claude_mpm/services/exceptions.py +677 -0
- claude_mpm-3.4.2/src/claude_mpm/services/health_monitor.py +892 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/memory_builder.py +341 -7
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/memory_optimizer.py +6 -2
- claude_mpm-3.4.2/src/claude_mpm/services/project_analyzer.py +771 -0
- claude_mpm-3.4.2/src/claude_mpm/services/recovery_manager.py +670 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/socketio_server.py +653 -36
- claude_mpm-3.4.2/src/claude_mpm/services/standalone_socketio_server.py +1300 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/version_control/git_operations.py +26 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm.egg-info/PKG-INFO +34 -10
- claude_mpm-3.4.2/src/claude_mpm.egg-info/SOURCES.txt +219 -0
- claude_mpm-3.3.2/.ai-trackdown/config.yaml +0 -28
- claude_mpm-3.3.2/.ai-trackdown/project.yaml +0 -8
- claude_mpm-3.3.2/.aitrackdown/project.json +0 -1
- claude_mpm-3.3.2/.aitrackdown-config.yaml +0 -10
- claude_mpm-3.3.2/.claude/.claude.json +0 -35
- claude_mpm-3.3.2/.claude/.claude.json.backup +0 -35
- claude_mpm-3.3.2/.claude/agents/data_engineer.yaml +0 -180
- claude_mpm-3.3.2/.claude/agents/documentation.yaml +0 -117
- claude_mpm-3.3.2/.claude/agents/engineer.yaml +0 -232
- claude_mpm-3.3.2/.claude/agents/ops.yaml +0 -119
- claude_mpm-3.3.2/.claude/agents/pm.yaml +0 -138
- claude_mpm-3.3.2/.claude/agents/qa.yaml +0 -118
- claude_mpm-3.3.2/.claude/agents/research.yaml +0 -303
- claude_mpm-3.3.2/.claude/agents/security.yaml +0 -127
- claude_mpm-3.3.2/.claude/agents/version_control.yaml +0 -119
- claude_mpm-3.3.2/.claude/commands/README.md +0 -36
- claude_mpm-3.3.2/.claude/commands/mpm.md +0 -5
- claude_mpm-3.3.2/.claude/hooks.json +0 -32
- claude_mpm-3.3.2/.claude/scripts/command_router.py +0 -60
- claude_mpm-3.3.2/.claude/settings.json +0 -37
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753448752189-02zmkd.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753448752717-t1o960.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753448753258-cz40yi.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753448753816-5cj75h.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753449561020-uh844i.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753449676191-16dqe8.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753449766642-8sffyp.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753449795813-bj9blv.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753449953467-ru9ods.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753449966919-eb4aoq.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753450012330-ad1k3g.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753450254970-pvrwgd.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753450398246-etdteg.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753450789791-z5ptuf.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753450861209-w6so3e.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753451302996-01ahjc.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753451384857-mvpmcf.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753451508182-v942iw.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753451525128-q52z98.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753452958143-rd4nut.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753453029843-tyfjfo.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753460195020-02l99b.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753460396315-znuas3.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753460428488-tcy6i5.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753460542243-l181zr.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753461397341-fdy0v7.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753469116715-v6dpx9.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753477538332-i5g2cr.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753477560204-7vo17t.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753477883629-hsjia3.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753477961808-oiyqie.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753478292112-5g3i0g.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753478337101-xe1uid.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753478342176-env102.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753478361973-nr1cwq.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753478372714-lamo9k.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753478388184-yxkay7.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753478392376-eygj04.sh +0 -4511
- claude_mpm-3.3.2/.claude/shell-snapshots/snapshot-zsh-1753482158558-cr2h0o.sh +0 -4511
- claude_mpm-3.3.2/.claude/todos/0aaf869f-0009-4249-b955-1c3942ff239f-agent-0aaf869f-0009-4249-b955-1c3942ff239f.json +0 -20
- claude_mpm-3.3.2/.claude/todos/0c24ded8-9422-489d-8d18-f83cc0737181-agent-0c24ded8-9422-489d-8d18-f83cc0737181.json +0 -1
- claude_mpm-3.3.2/.claude/todos/0d9501e6-77b0-4e8f-b132-bae208ed740a-agent-0d9501e6-77b0-4e8f-b132-bae208ed740a.json +0 -1
- claude_mpm-3.3.2/.claude/todos/1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5-agent-048a118d-f0ea-4dce-90d3-d851514aa36a.json +0 -50
- claude_mpm-3.3.2/.claude/todos/1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5-agent-0600940d-65ff-4678-ac90-9e0d42a3e138.json +0 -50
- claude_mpm-3.3.2/.claude/todos/1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5-agent-1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5.json +0 -8
- claude_mpm-3.3.2/.claude/todos/1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5-agent-1b8badbc-b05e-459e-b16c-a974f28673be.json +0 -38
- claude_mpm-3.3.2/.claude/todos/1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5-agent-231626b2-0ce7-44fb-82e4-a9e72fdcecc4.json +0 -38
- claude_mpm-3.3.2/.claude/todos/1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5-agent-2799acc0-b5e3-4086-940e-62bd2a5bbd7d.json +0 -38
- claude_mpm-3.3.2/.claude/todos/1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5-agent-42b0c458-9d5f-4745-826e-7c618d3a7026.json +0 -38
- claude_mpm-3.3.2/.claude/todos/1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5-agent-a324c872-b962-4438-b794-7966f5d7a7a9.json +0 -32
- claude_mpm-3.3.2/.claude/todos/1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5-agent-ce91e7fd-64af-4f57-b691-1487c2db8d0b.json +0 -38
- claude_mpm-3.3.2/.claude/todos/1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5-agent-dd250db2-edbb-43fc-a143-3eeafc0cd7fa.json +0 -38
- claude_mpm-3.3.2/.claude/todos/1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5-agent-f0cbf9cd-0136-4bca-b0e0-c66aa58d3aeb.json +0 -38
- claude_mpm-3.3.2/.claude/todos/109c42c9-0afd-4a5b-a1b3-e515e31b6a2f-agent-109c42c9-0afd-4a5b-a1b3-e515e31b6a2f.json +0 -1
- claude_mpm-3.3.2/.claude/todos/1163a193-8464-4195-8281-6b875b5d987d-agent-1163a193-8464-4195-8281-6b875b5d987d.json +0 -1
- claude_mpm-3.3.2/.claude/todos/128d2198-5b02-422c-9531-f3396cbf0ce0-agent-128d2198-5b02-422c-9531-f3396cbf0ce0.json +0 -1
- claude_mpm-3.3.2/.claude/todos/16c51506-6afa-43aa-b199-da0c853f99a9-agent-16c51506-6afa-43aa-b199-da0c853f99a9.json +0 -1
- claude_mpm-3.3.2/.claude/todos/1736bdd7-71f4-49a0-934d-18e3aa5e0b43-agent-1736bdd7-71f4-49a0-934d-18e3aa5e0b43.json +0 -1
- claude_mpm-3.3.2/.claude/todos/1869eedc-69fc-4e81-a8ac-f57bd8e3946b-agent-1869eedc-69fc-4e81-a8ac-f57bd8e3946b.json +0 -1
- claude_mpm-3.3.2/.claude/todos/1a97dfda-12e5-4f13-8c8a-731373694a1c-agent-1a97dfda-12e5-4f13-8c8a-731373694a1c.json +0 -1
- claude_mpm-3.3.2/.claude/todos/283ac74b-5516-43f8-9548-24ded2b643b1-agent-283ac74b-5516-43f8-9548-24ded2b643b1.json +0 -1
- claude_mpm-3.3.2/.claude/todos/2ba08561-559e-4f64-9522-8d6c340e47da-agent-2ba08561-559e-4f64-9522-8d6c340e47da.json +0 -1
- claude_mpm-3.3.2/.claude/todos/31da8ed9-e1a5-40c8-91c8-8e9b51ca24a9-agent-31da8ed9-e1a5-40c8-91c8-8e9b51ca24a9.json +0 -1
- claude_mpm-3.3.2/.claude/todos/35194d51-6b8f-4ef5-b771-b0aa03f49a88-agent-35194d51-6b8f-4ef5-b771-b0aa03f49a88.json +0 -1
- claude_mpm-3.3.2/.claude/todos/3d1c0368-e607-4f47-b02d-7c0922cc0f25-agent-3d1c0368-e607-4f47-b02d-7c0922cc0f25.json +0 -1
- claude_mpm-3.3.2/.claude/todos/3d46c625-6377-4296-b9b3-22bc19341092-agent-3d46c625-6377-4296-b9b3-22bc19341092.json +0 -1
- claude_mpm-3.3.2/.claude/todos/40072791-2f2f-4743-b763-ec19321ccb0b-agent-40072791-2f2f-4743-b763-ec19321ccb0b.json +0 -1
- claude_mpm-3.3.2/.claude/todos/4157ab6d-5025-4862-82eb-5818c43c5a8c-agent-4157ab6d-5025-4862-82eb-5818c43c5a8c.json +0 -1
- claude_mpm-3.3.2/.claude/todos/458938f3-a317-46f3-8359-86f05ccacc7d-agent-458938f3-a317-46f3-8359-86f05ccacc7d.json +0 -1
- claude_mpm-3.3.2/.claude/todos/4dcf1510-e396-47bb-ac32-f62811ae9774-agent-4dcf1510-e396-47bb-ac32-f62811ae9774.json +0 -26
- claude_mpm-3.3.2/.claude/todos/4e71e501-1438-4c7d-8a89-18818b16ccb5-agent-4e71e501-1438-4c7d-8a89-18818b16ccb5.json +0 -1
- claude_mpm-3.3.2/.claude/todos/4eb9a1c4-92b0-44ee-9322-6ba0442efd42-agent-4eb9a1c4-92b0-44ee-9322-6ba0442efd42.json +0 -1
- claude_mpm-3.3.2/.claude/todos/4f57fa86-e804-4c8e-a0ff-196835df5bc9-agent-4f57fa86-e804-4c8e-a0ff-196835df5bc9.json +0 -1
- claude_mpm-3.3.2/.claude/todos/518e2724-687e-4ae3-bde9-582c8718695a-agent-518e2724-687e-4ae3-bde9-582c8718695a.json +0 -1
- claude_mpm-3.3.2/.claude/todos/51abf2eb-4e5a-4731-bd23-76cffe656a40-agent-51abf2eb-4e5a-4731-bd23-76cffe656a40.json +0 -1
- claude_mpm-3.3.2/.claude/todos/53c4beda-27f3-4247-ada4-f904320995ad-agent-53c4beda-27f3-4247-ada4-f904320995ad.json +0 -1
- claude_mpm-3.3.2/.claude/todos/56581e8b-07b1-4174-bf81-c280a3dee6b4-agent-56581e8b-07b1-4174-bf81-c280a3dee6b4.json +0 -1
- claude_mpm-3.3.2/.claude/todos/58848224-56e6-49f6-a4e5-c08f8f70c426-agent-58848224-56e6-49f6-a4e5-c08f8f70c426.json +0 -1
- claude_mpm-3.3.2/.claude/todos/58cf2d09-fd22-4a2e-8c74-c247ece6c802-agent-58cf2d09-fd22-4a2e-8c74-c247ece6c802.json +0 -8
- claude_mpm-3.3.2/.claude/todos/5bcc2e07-617c-4659-b82f-6b630ea891ff-agent-5bcc2e07-617c-4659-b82f-6b630ea891ff.json +0 -1
- claude_mpm-3.3.2/.claude/todos/5bf326e7-b61a-4d82-b483-94d5d7085755-agent-5bf326e7-b61a-4d82-b483-94d5d7085755.json +0 -1
- claude_mpm-3.3.2/.claude/todos/5dee78ec-d9ed-4484-b101-5490217fe423-agent-5dee78ec-d9ed-4484-b101-5490217fe423.json +0 -20
- claude_mpm-3.3.2/.claude/todos/5f6c7624-6a25-4ed9-be09-03fa3a70c4d8-agent-5f6c7624-6a25-4ed9-be09-03fa3a70c4d8.json +0 -1
- claude_mpm-3.3.2/.claude/todos/606431c0-6b47-4fb8-b386-132918a3aa0b-agent-606431c0-6b47-4fb8-b386-132918a3aa0b.json +0 -1
- claude_mpm-3.3.2/.claude/todos/6078e96f-e9a4-435f-8d2f-cf70346ebafe-agent-6078e96f-e9a4-435f-8d2f-cf70346ebafe.json +0 -20
- claude_mpm-3.3.2/.claude/todos/69e5a32b-bf2c-4264-93cd-6ac84b44ca9f-agent-69e5a32b-bf2c-4264-93cd-6ac84b44ca9f.json +0 -1
- claude_mpm-3.3.2/.claude/todos/6b729248-47b8-4657-ad7f-7f09fff21151-agent-6b729248-47b8-4657-ad7f-7f09fff21151.json +0 -1
- claude_mpm-3.3.2/.claude/todos/6d6970e8-f95f-468b-a8b8-3eacca8f1220-agent-6d6970e8-f95f-468b-a8b8-3eacca8f1220.json +0 -1
- claude_mpm-3.3.2/.claude/todos/6ec6cfa4-f2fd-4515-9c95-3ea74fbc571b-agent-6ec6cfa4-f2fd-4515-9c95-3ea74fbc571b.json +0 -1
- claude_mpm-3.3.2/.claude/todos/713e1bda-caa2-4cb9-a5a2-b7c6fec5776f-agent-713e1bda-caa2-4cb9-a5a2-b7c6fec5776f.json +0 -32
- claude_mpm-3.3.2/.claude/todos/71e6da9f-0dcd-4abd-ae8f-a5af695d9624-agent-71e6da9f-0dcd-4abd-ae8f-a5af695d9624.json +0 -1
- claude_mpm-3.3.2/.claude/todos/7653f086-93df-4423-98ce-640305e10823-agent-7653f086-93df-4423-98ce-640305e10823.json +0 -1
- claude_mpm-3.3.2/.claude/todos/76656734-acd3-411c-b333-f274dabae19c-agent-76656734-acd3-411c-b333-f274dabae19c.json +0 -44
- claude_mpm-3.3.2/.claude/todos/78150f02-9204-437c-9e12-9e800f3f73b9-agent-78150f02-9204-437c-9e12-9e800f3f73b9.json +0 -20
- claude_mpm-3.3.2/.claude/todos/7dda0a32-2834-4a47-9734-9ae9ca5b1a31-agent-7dda0a32-2834-4a47-9734-9ae9ca5b1a31.json +0 -1
- claude_mpm-3.3.2/.claude/todos/84b4d3c7-5506-4e4e-87dd-9cc48b8bc2ec-agent-84b4d3c7-5506-4e4e-87dd-9cc48b8bc2ec.json +0 -1
- claude_mpm-3.3.2/.claude/todos/86ce0d12-f82e-49b2-b553-2cd8a7e188a3-agent-86ce0d12-f82e-49b2-b553-2cd8a7e188a3.json +0 -1
- claude_mpm-3.3.2/.claude/todos/87626114-6cb1-43ef-978a-bb35f612e4eb-agent-87626114-6cb1-43ef-978a-bb35f612e4eb.json +0 -1
- claude_mpm-3.3.2/.claude/todos/880d3ea5-649e-449e-88bc-664a291ec338-agent-880d3ea5-649e-449e-88bc-664a291ec338.json +0 -38
- claude_mpm-3.3.2/.claude/todos/8962e6d9-0fc0-4578-bb08-a5dfbc2dbe5e-agent-8962e6d9-0fc0-4578-bb08-a5dfbc2dbe5e.json +0 -1
- claude_mpm-3.3.2/.claude/todos/8f998b9e-5f18-4ade-bd69-74c95a210f6a-agent-8f998b9e-5f18-4ade-bd69-74c95a210f6a.json +0 -1
- claude_mpm-3.3.2/.claude/todos/929364bd-aa69-4831-850e-37f8ab63803d-agent-929364bd-aa69-4831-850e-37f8ab63803d.json +0 -1
- claude_mpm-3.3.2/.claude/todos/95479b6c-cfbf-4bb7-9e00-b95a0b385775-agent-95479b6c-cfbf-4bb7-9e00-b95a0b385775.json +0 -1
- claude_mpm-3.3.2/.claude/todos/9628cc3a-355a-48f0-ab54-c28ac2e05dfe-agent-9628cc3a-355a-48f0-ab54-c28ac2e05dfe.json +0 -1
- claude_mpm-3.3.2/.claude/todos/a877fe3a-7057-49a9-9726-239ddb3421ee-agent-a877fe3a-7057-49a9-9726-239ddb3421ee.json +0 -1
- claude_mpm-3.3.2/.claude/todos/a9136d1b-6e01-4879-972f-5fcdde5e08d7-agent-a9136d1b-6e01-4879-972f-5fcdde5e08d7.json +0 -1
- claude_mpm-3.3.2/.claude/todos/b10ff15f-3c8c-46d7-93b4-a0d4d5ec4003-agent-b10ff15f-3c8c-46d7-93b4-a0d4d5ec4003.json +0 -1
- claude_mpm-3.3.2/.claude/todos/b1206d13-f0ec-4f53-a746-a845732fefd7-agent-b1206d13-f0ec-4f53-a746-a845732fefd7.json +0 -1
- claude_mpm-3.3.2/.claude/todos/b61be2e4-7de3-4e1b-b636-2232190ffc5c-agent-b61be2e4-7de3-4e1b-b636-2232190ffc5c.json +0 -1
- claude_mpm-3.3.2/.claude/todos/b80ad406-64d1-4a6c-b781-15496265fae0-agent-b80ad406-64d1-4a6c-b781-15496265fae0.json +0 -1
- claude_mpm-3.3.2/.claude/todos/babc6eac-d7d6-498a-8176-e09e00423a12-agent-babc6eac-d7d6-498a-8176-e09e00423a12.json +0 -1
- claude_mpm-3.3.2/.claude/todos/bf4b7700-9630-466e-afb0-8904fbddac42-agent-bf4b7700-9630-466e-afb0-8904fbddac42.json +0 -1
- claude_mpm-3.3.2/.claude/todos/c2189d0d-9c2b-400a-bf7c-3989ef6cd37d-agent-c2189d0d-9c2b-400a-bf7c-3989ef6cd37d.json +0 -1
- claude_mpm-3.3.2/.claude/todos/c35ee595-142f-454b-bb36-dc434d4a80a6-agent-c35ee595-142f-454b-bb36-dc434d4a80a6.json +0 -1
- claude_mpm-3.3.2/.claude/todos/c629949d-4641-45ff-81d3-d7c8f353da81-agent-c629949d-4641-45ff-81d3-d7c8f353da81.json +0 -1
- claude_mpm-3.3.2/.claude/todos/c8cecbec-a3bb-4507-98a4-c590a4e919b2-agent-c8cecbec-a3bb-4507-98a4-c590a4e919b2.json +0 -38
- claude_mpm-3.3.2/.claude/todos/cce78c00-7309-4bc4-802c-3bad75be09cc-agent-cce78c00-7309-4bc4-802c-3bad75be09cc.json +0 -1
- claude_mpm-3.3.2/.claude/todos/d55a3a18-0143-4401-ba56-ea630982c105-agent-d55a3a18-0143-4401-ba56-ea630982c105.json +0 -32
- claude_mpm-3.3.2/.claude/todos/d881887b-49bc-4fda-acda-c866681c8f13-agent-d881887b-49bc-4fda-acda-c866681c8f13.json +0 -20
- claude_mpm-3.3.2/.claude/todos/db3e76fb-7b9d-4f1c-8822-cce448fdf9e6-agent-db3e76fb-7b9d-4f1c-8822-cce448fdf9e6.json +0 -1
- claude_mpm-3.3.2/.claude/todos/dc7344a6-cd2e-4f20-a945-deb2e39f4fbc-agent-dc7344a6-cd2e-4f20-a945-deb2e39f4fbc.json +0 -1
- claude_mpm-3.3.2/.claude/todos/eb12ed58-94e3-490a-b8c8-b2912fa77fbe-agent-eb12ed58-94e3-490a-b8c8-b2912fa77fbe.json +0 -1
- claude_mpm-3.3.2/.claude/todos/ef4c285d-d79b-4c6e-a458-49cb26bf3c0a-agent-ef4c285d-d79b-4c6e-a458-49cb26bf3c0a.json +0 -1
- claude_mpm-3.3.2/.claude/todos/f295b25f-51d8-4fff-b71d-aa18d7028466-agent-f295b25f-51d8-4fff-b71d-aa18d7028466.json +0 -1
- claude_mpm-3.3.2/.claude/todos/f2a683d3-4d16-4c94-bf52-03efaf45f7f1-agent-f2a683d3-4d16-4c94-bf52-03efaf45f7f1.json +0 -1
- claude_mpm-3.3.2/.claude/todos/f536b1f5-879c-4236-9718-599337ffc815-agent-f536b1f5-879c-4236-9718-599337ffc815.json +0 -1
- claude_mpm-3.3.2/.claude/todos/fabcbe8a-6751-454b-a240-e9393391e2e9-agent-fabcbe8a-6751-454b-a240-e9393391e2e9.json +0 -1
- claude_mpm-3.3.2/.claude/todos/fdebc52b-3519-44c8-a3af-ce87f39272cd-agent-fdebc52b-3519-44c8-a3af-ce87f39272cd.json +0 -1
- claude_mpm-3.3.2/.claude/todos/fe57db22-5ef9-4522-9423-5c20dd665ef6-agent-fe57db22-5ef9-4522-9423-5c20dd665ef6.json +0 -1
- claude_mpm-3.3.2/.claude-mpm/.claude.json +0 -20
- claude_mpm-3.3.2/.claude-mpm/.claude.json.backup +0 -20
- claude_mpm-3.3.2/.claude-mpm/.gitignore +0 -13
- claude_mpm-3.3.2/.claude-mpm/README.md +0 -17
- claude_mpm-3.3.2/.claude-mpm/agents/README.md +0 -12
- claude_mpm-3.3.2/.claude-mpm/agents/poc-engineer.md +0 -30
- claude_mpm-3.3.2/.claude-mpm/agents/poc-qa.md +0 -29
- claude_mpm-3.3.2/.claude-mpm/agents/poc-researcher.md +0 -29
- claude_mpm-3.3.2/.claude-mpm/agents/test-agent.md +0 -8
- claude_mpm-3.3.2/.claude-mpm/agents/test-agent.yaml +0 -8
- claude_mpm-3.3.2/.claude-mpm/config/project.json +0 -11
- claude_mpm-3.3.2/.claude-mpm/projects/-Users-masa-Projects-claude-mpm/1f2d5a1d-a2fd-4c26-a1b2-3822f3a5fbf5.jsonl +0 -2
- claude_mpm-3.3.2/.claude-mpm/projects/-Users-masa-Projects-claude-mpm/9217ce88-3ece-41db-adc8-9fc8532c6314.jsonl +0 -3
- claude_mpm-3.3.2/.claude-mpm/shell-snapshots/snapshot-zsh-1753447830017-dejufl.sh +0 -4511
- claude_mpm-3.3.2/.claude-mpm/shell-snapshots/snapshot-zsh-1753447830478-zr6tpi.sh +0 -4511
- claude_mpm-3.3.2/.claude-mpm/stats/README.md +0 -8
- claude_mpm-3.3.2/.claude-mpm/statsig/statsig.cached.evaluations.85901da9f9 +0 -1
- claude_mpm-3.3.2/.claude-mpm/statsig/statsig.last_modified_time.evaluations +0 -1
- claude_mpm-3.3.2/.claude-mpm/statsig/statsig.session_id.2656274335 +0 -1
- claude_mpm-3.3.2/.claude-mpm/statsig/statsig.stable_id.2656274335 +0 -1
- claude_mpm-3.3.2/.claude-mpm/todos/1f2d5a1d-a2fd-4c26-a1b2-3822f3a5fbf5-agent-1f2d5a1d-a2fd-4c26-a1b2-3822f3a5fbf5.json +0 -1
- claude_mpm-3.3.2/.claude-mpm/todos/9217ce88-3ece-41db-adc8-9fc8532c6314-agent-9217ce88-3ece-41db-adc8-9fc8532c6314.json +0 -1
- claude_mpm-3.3.2/.claude-pm/config/project.json +0 -6
- claude_mpm-3.3.2/.githooks/pre-commit +0 -50
- claude_mpm-3.3.2/.gitignore +0 -43
- claude_mpm-3.3.2/.npmignore +0 -50
- claude_mpm-3.3.2/.python-version +0 -1
- claude_mpm-3.3.2/.trackdown.yaml +0 -30
- claude_mpm-3.3.2/CHANGELOG.md +0 -421
- claude_mpm-3.3.2/INSTALL.md +0 -204
- claude_mpm-3.3.2/Makefile +0 -258
- claude_mpm-3.3.2/README.npm.md +0 -107
- claude_mpm-3.3.2/VERSION +0 -1
- claude_mpm-3.3.2/bin/claude-mpm +0 -89
- claude_mpm-3.3.2/bin/claude-mpm-hooks +0 -106
- claude_mpm-3.3.2/bin/ticket +0 -60
- claude_mpm-3.3.2/config/mcp_services.yaml +0 -117
- claude_mpm-3.3.2/docker/Dockerfile +0 -58
- claude_mpm-3.3.2/docker/Dockerfile.npm +0 -51
- claude_mpm-3.3.2/docker/Dockerfile.npm-local +0 -58
- claude_mpm-3.3.2/docker/Dockerfile.npm-simple +0 -62
- claude_mpm-3.3.2/docker/Dockerfile.npm-test +0 -53
- claude_mpm-3.3.2/docker/Dockerfile.pip +0 -58
- claude_mpm-3.3.2/examples/awesome-patterns/enhanced_claude_md_example.md +0 -145
- claude_mpm-3.3.2/examples/awesome-patterns/slash_command_example.md +0 -322
- claude_mpm-3.3.2/examples/awesome-patterns/validation_first_example.py +0 -295
- claude_mpm-3.3.2/examples/dependency_injection_demo.py +0 -190
- claude_mpm-3.3.2/examples/json_rpc_hooks_demo.py +0 -109
- claude_mpm-3.3.2/examples/todo_prefix_hook_example.py +0 -176
- claude_mpm-3.3.2/examples/todo_prefix_hook_integration.py +0 -239
- claude_mpm-3.3.2/install.sh +0 -141
- claude_mpm-3.3.2/install_dev.sh +0 -74
- claude_mpm-3.3.2/npm-bin/claude-mpm.js +0 -386
- claude_mpm-3.3.2/package.json +0 -49
- claude_mpm-3.3.2/scripts/add_agent_versioning.py +0 -41
- claude_mpm-3.3.2/scripts/analyze_framework_loaders.py +0 -32
- claude_mpm-3.3.2/scripts/analyze_git_clickup_correlation.py +0 -589
- claude_mpm-3.3.2/scripts/check_version_sync.py +0 -108
- claude_mpm-3.3.2/scripts/claude-mpm +0 -148
- claude_mpm-3.3.2/scripts/cleanup_logs.py +0 -256
- claude_mpm-3.3.2/scripts/consolidate_services.py +0 -38
- claude_mpm-3.3.2/scripts/convert_agents_to_yaml.py +0 -186
- claude_mpm-3.3.2/scripts/demo/subprocess_before_after.py +0 -234
- claude_mpm-3.3.2/scripts/demo/subprocess_improvements_demo.py +0 -407
- claude_mpm-3.3.2/scripts/demo_hook_behavior.sh +0 -53
- claude_mpm-3.3.2/scripts/deploy_local.sh +0 -443
- claude_mpm-3.3.2/scripts/fix_all_fallback_imports.py +0 -68
- claude_mpm-3.3.2/scripts/fix_all_imports.py +0 -241
- claude_mpm-3.3.2/scripts/fix_fallback_imports.py +0 -58
- claude_mpm-3.3.2/scripts/install_hooks.py +0 -172
- claude_mpm-3.3.2/scripts/interactive_wrapper.py +0 -109
- claude_mpm-3.3.2/scripts/launch_with_agents.py +0 -191
- claude_mpm-3.3.2/scripts/migrate_agents_to_new_schema.py +0 -378
- claude_mpm-3.3.2/scripts/migrate_logging_imports.py +0 -99
- claude_mpm-3.3.2/scripts/migrate_to_json_rpc_hooks.py +0 -164
- claude_mpm-3.3.2/scripts/monitor_mcp_services.py +0 -453
- claude_mpm-3.3.2/scripts/mpm_test.py +0 -11
- claude_mpm-3.3.2/scripts/publish.sh +0 -98
- claude_mpm-3.3.2/scripts/release.py +0 -876
- claude_mpm-3.3.2/scripts/remove_remaining_ticketing.py +0 -150
- claude_mpm-3.3.2/scripts/remove_ticketing_references.py +0 -82
- claude_mpm-3.3.2/scripts/requirements_analysis.txt +0 -7
- claude_mpm-3.3.2/scripts/run_all_tests.sh +0 -30
- claude_mpm-3.3.2/scripts/run_e2e_tests.sh +0 -48
- claude_mpm-3.3.2/scripts/setup_local_mcp.sh +0 -457
- claude_mpm-3.3.2/scripts/show_pm_system_prompt.py +0 -50
- claude_mpm-3.3.2/scripts/standardize_imports.py +0 -281
- claude_mpm-3.3.2/scripts/sync_tickets_github.sh +0 -109
- claude_mpm-3.3.2/scripts/test_agent_capabilities_usage.py +0 -167
- claude_mpm-3.3.2/scripts/test_agent_compatibility.py +0 -48
- claude_mpm-3.3.2/scripts/test_agent_content_verification.py +0 -85
- claude_mpm-3.3.2/scripts/test_agent_deployment.py +0 -127
- claude_mpm-3.3.2/scripts/test_agent_deployment_integration.py +0 -154
- claude_mpm-3.3.2/scripts/test_agent_deployment_validation.py +0 -254
- claude_mpm-3.3.2/scripts/test_agent_functionality_complete.py +0 -402
- claude_mpm-3.3.2/scripts/test_agent_loader.py +0 -153
- claude_mpm-3.3.2/scripts/test_agent_loader_edge_cases.py +0 -182
- claude_mpm-3.3.2/scripts/test_agent_loader_integration.py +0 -112
- claude_mpm-3.3.2/scripts/test_agent_loading.py +0 -42
- claude_mpm-3.3.2/scripts/test_agent_manager_integration.py +0 -286
- claude_mpm-3.3.2/scripts/test_agent_migration.py +0 -166
- claude_mpm-3.3.2/scripts/test_agent_name_consistency.py +0 -282
- claude_mpm-3.3.2/scripts/test_agent_name_formats.py +0 -82
- claude_mpm-3.3.2/scripts/test_agent_schema_system.py +0 -191
- claude_mpm-3.3.2/scripts/test_agent_validation_security.py +0 -208
- claude_mpm-3.3.2/scripts/test_agent_version_display.py +0 -12
- claude_mpm-3.3.2/scripts/test_agents_command.py +0 -70
- claude_mpm-3.3.2/scripts/test_basic_functionality.py +0 -127
- claude_mpm-3.3.2/scripts/test_deployment_dynamic_capabilities.py +0 -160
- claude_mpm-3.3.2/scripts/test_deployment_manager_capabilities.py +0 -135
- claude_mpm-3.3.2/scripts/test_dynamic_capabilities.py +0 -156
- claude_mpm-3.3.2/scripts/test_dynamic_capabilities_comprehensive.py +0 -467
- claude_mpm-3.3.2/scripts/test_edge_cases.py +0 -211
- claude_mpm-3.3.2/scripts/test_file_access_implementation.py +0 -153
- claude_mpm-3.3.2/scripts/test_git_clickup_analysis.py +0 -325
- claude_mpm-3.3.2/scripts/test_hello_world.py +0 -76
- claude_mpm-3.3.2/scripts/test_helloworld_python_hook.py +0 -66
- claude_mpm-3.3.2/scripts/test_helloworld_shell_hook.sh +0 -29
- claude_mpm-3.3.2/scripts/test_integration.py +0 -161
- claude_mpm-3.3.2/scripts/test_integration_performance.py +0 -279
- claude_mpm-3.3.2/scripts/test_integration_simple.py +0 -265
- claude_mpm-3.3.2/scripts/test_interactive_setup.py +0 -61
- claude_mpm-3.3.2/scripts/test_mcp_integration.sh +0 -72
- claude_mpm-3.3.2/scripts/test_mcp_solution.py +0 -437
- claude_mpm-3.3.2/scripts/test_migration_flow.py +0 -47
- claude_mpm-3.3.2/scripts/test_mpm_agents_integration.py +0 -159
- claude_mpm-3.3.2/scripts/test_mpm_command.py +0 -106
- claude_mpm-3.3.2/scripts/test_no_agents.py +0 -62
- claude_mpm-3.3.2/scripts/test_npm_install.sh +0 -56
- claude_mpm-3.3.2/scripts/test_npm_install_simple.sh +0 -83
- claude_mpm-3.3.2/scripts/test_performance.py +0 -117
- claude_mpm-3.3.2/scripts/test_pm_instructions.py +0 -100
- claude_mpm-3.3.2/scripts/test_qa_script_access.py +0 -107
- claude_mpm-3.3.2/scripts/test_qa_script_creation.py +0 -121
- claude_mpm-3.3.2/scripts/test_real_deployment.py +0 -119
- claude_mpm-3.3.2/scripts/test_real_deployment_capabilities.py +0 -192
- claude_mpm-3.3.2/scripts/test_redeployment.py +0 -56
- claude_mpm-3.3.2/scripts/test_release_enhancements.py +0 -140
- claude_mpm-3.3.2/scripts/test_runtime_capabilities.py +0 -93
- claude_mpm-3.3.2/scripts/test_runtime_integration.py +0 -121
- claude_mpm-3.3.2/scripts/test_schema_validation.py +0 -94
- claude_mpm-3.3.2/scripts/test_semantic_versioning.py +0 -82
- claude_mpm-3.3.2/scripts/test_simple_runner_logging.py +0 -155
- claude_mpm-3.3.2/scripts/test_subagent_demo.py +0 -137
- claude_mpm-3.3.2/scripts/test_system_health.py +0 -185
- claude_mpm-3.3.2/scripts/test_todo_hook.py +0 -92
- claude_mpm-3.3.2/scripts/test_todo_task_integration.py +0 -160
- claude_mpm-3.3.2/scripts/test_version_comparison.py +0 -44
- claude_mpm-3.3.2/scripts/test_version_detection.py +0 -71
- claude_mpm-3.3.2/scripts/test_version_management.py +0 -73
- claude_mpm-3.3.2/scripts/test_version_migration.py +0 -113
- claude_mpm-3.3.2/scripts/test_working_dir_simple.py +0 -41
- claude_mpm-3.3.2/scripts/tests/run_tests.py +0 -38
- claude_mpm-3.3.2/scripts/tests/run_tests_updated.py +0 -47
- claude_mpm-3.3.2/scripts/tests/test_agent_integration.py +0 -172
- claude_mpm-3.3.2/scripts/tests/test_claude_direct.py +0 -98
- claude_mpm-3.3.2/scripts/tests/test_hello_world.py +0 -75
- claude_mpm-3.3.2/scripts/tests/test_interactive.py +0 -73
- claude_mpm-3.3.2/scripts/tests/test_logging.py +0 -73
- claude_mpm-3.3.2/scripts/tests/test_orchestration.py +0 -130
- claude_mpm-3.3.2/scripts/tests/test_pexpect.py +0 -42
- claude_mpm-3.3.2/scripts/tests/test_pexpect_install.py +0 -30
- claude_mpm-3.3.2/scripts/tests/test_subprocess.py +0 -172
- claude_mpm-3.3.2/scripts/trace_deployment.py +0 -62
- claude_mpm-3.3.2/scripts/validate_agent_configuration.py +0 -268
- claude_mpm-3.3.2/scripts/validate_agent_schema.py +0 -63
- claude_mpm-3.3.2/scripts/verify_imports.py +0 -137
- claude_mpm-3.3.2/src/claude_mpm/agents/agent-template.yaml +0 -83
- claude_mpm-3.3.2/src/claude_mpm/agents/test_fix_deployment/.claude-pm/config/project.json +0 -6
- claude_mpm-3.3.2/src/claude_mpm/cli/README.md +0 -109
- claude_mpm-3.3.2/src/claude_mpm/cli_module/refactoring_guide.md +0 -253
- claude_mpm-3.3.2/src/claude_mpm/core/agent_registry.py.bak +0 -312
- claude_mpm-3.3.2/src/claude_mpm/core/base_service.py.bak +0 -406
- claude_mpm-3.3.2/src/claude_mpm/hooks/README.md +0 -97
- claude_mpm-3.3.2/src/claude_mpm/orchestration/SUBPROCESS_DESIGN.md +0 -66
- claude_mpm-3.3.2/src/claude_mpm/schemas/README_SECURITY.md +0 -92
- claude_mpm-3.3.2/src/claude_mpm/schemas/agent_schema.json +0 -395
- claude_mpm-3.3.2/src/claude_mpm/schemas/agent_schema_documentation.md +0 -181
- claude_mpm-3.3.2/src/claude_mpm/schemas/agent_schema_security_notes.md +0 -165
- claude_mpm-3.3.2/src/claude_mpm/schemas/examples/standard_workflow.json +0 -505
- claude_mpm-3.3.2/src/claude_mpm/schemas/ticket_workflow_documentation.md +0 -482
- claude_mpm-3.3.2/src/claude_mpm/schemas/ticket_workflow_schema.json +0 -590
- claude_mpm-3.3.2/src/claude_mpm/scripts/socketio_server_manager.py +0 -428
- claude_mpm-3.3.2/src/claude_mpm/services/__init__.py +0 -15
- claude_mpm-3.3.2/src/claude_mpm/services/framework_claude_md_generator/README.md +0 -92
- claude_mpm-3.3.2/src/claude_mpm/services/parent_directory_manager/README.md +0 -83
- claude_mpm-3.3.2/src/claude_mpm/services/standalone_socketio_server.py +0 -631
- claude_mpm-3.3.2/src/claude_mpm/services/version_control/VERSION +0 -1
- claude_mpm-3.3.2/src/claude_mpm.egg-info/SOURCES.txt +0 -628
- claude_mpm-3.3.2/tickets/epics/EP-0001.md +0 -71
- claude_mpm-3.3.2/tickets/epics/EP-0002-subagent-pivot.md +0 -197
- claude_mpm-3.3.2/tickets/epics/EP-0002.md +0 -49
- claude_mpm-3.3.2/tickets/epics/EP-0003.md +0 -57
- claude_mpm-3.3.2/tickets/epics/EP-0004.md +0 -56
- claude_mpm-3.3.2/tickets/issues/CONVERSION_MAPPING.md +0 -23
- claude_mpm-3.3.2/tickets/issues/ISS-0001.md +0 -55
- claude_mpm-3.3.2/tickets/issues/ISS-0002.md +0 -54
- claude_mpm-3.3.2/tickets/issues/ISS-0003.md +0 -55
- claude_mpm-3.3.2/tickets/issues/ISS-0004.md +0 -54
- claude_mpm-3.3.2/tickets/issues/ISS-0005.md +0 -55
- claude_mpm-3.3.2/tickets/issues/ISS-0006.md +0 -55
- claude_mpm-3.3.2/tickets/issues/ISS-0007.md +0 -55
- claude_mpm-3.3.2/tickets/issues/ISS-0008.md +0 -54
- claude_mpm-3.3.2/tickets/issues/ISS-0009.md +0 -55
- claude_mpm-3.3.2/tickets/issues/ISS-0010.md +0 -54
- claude_mpm-3.3.2/tickets/issues/ISS-0011.md +0 -53
- claude_mpm-3.3.2/tickets/issues/ISS-0012.md +0 -52
- claude_mpm-3.3.2/tickets/issues/ISS-0013.md +0 -52
- claude_mpm-3.3.2/tickets/issues/ISS-0014.md +0 -52
- claude_mpm-3.3.2/tickets/issues/ISS-0015.md +0 -52
- claude_mpm-3.3.2/tickets/issues/ISS-0016.md +0 -52
- claude_mpm-3.3.2/tickets/issues/ISS-0017.md +0 -52
- claude_mpm-3.3.2/tickets/issues/ISS-0018.md +0 -52
- claude_mpm-3.3.2/tickets/issues/ISS-0019.md +0 -52
- claude_mpm-3.3.2/tickets/issues/ISS-0020.md +0 -52
- claude_mpm-3.3.2/tickets/issues/ISS-0021.md +0 -52
- claude_mpm-3.3.2/tickets/issues/ISS-0022.md +0 -52
- claude_mpm-3.3.2/tickets/issues/ISS-0023.md +0 -53
- claude_mpm-3.3.2/tickets/issues/ISS-0024.md +0 -53
- claude_mpm-3.3.2/tickets/issues/ISS-0025.md +0 -54
- claude_mpm-3.3.2/tickets/issues/ISS-0026.md +0 -53
- claude_mpm-3.3.2/tickets/issues/ISS-0027.md +0 -53
- claude_mpm-3.3.2/tickets/issues/ISS-0028.md +0 -54
- claude_mpm-3.3.2/tickets/issues/ISS-0029.md +0 -53
- claude_mpm-3.3.2/tickets/issues/ISS-0030.md +0 -54
- claude_mpm-3.3.2/tickets/issues/ISS-0031.md +0 -54
- claude_mpm-3.3.2/tickets/issues/ISS-0032.md +0 -53
- claude_mpm-3.3.2/tickets/tasks/TSK-0001.md +0 -41
- claude_mpm-3.3.2/tickets/tasks/TSK-0002.md +0 -47
- claude_mpm-3.3.2/tickets/tasks/TSK-0003.md +0 -86
- claude_mpm-3.3.2/tickets/tasks/TSK-0004.md +0 -84
- claude_mpm-3.3.2/tickets/tasks/TSK-0005.md +0 -59
- claude_mpm-3.3.2/tickets/tasks/TSK-0006.md +0 -45
- claude_mpm-3.3.2/tickets/tasks/TSK-0007.md +0 -44
- claude_mpm-3.3.2/tickets/tasks/TSK-0008.md +0 -44
- claude_mpm-3.3.2/tickets/tasks/TSK-0009.md +0 -44
- claude_mpm-3.3.2/tickets/tasks/TSK-0011.md +0 -44
- claude_mpm-3.3.2/tickets/tasks/TSK-0016.md +0 -44
- claude_mpm-3.3.2/tickets/tasks/TSK-0017.md +0 -41
- claude_mpm-3.3.2/tickets/tasks/TSK-0018.md +0 -41
- claude_mpm-3.3.2/tickets/tasks/TSK-0019.md +0 -42
- claude_mpm-3.3.2/tickets/tasks/TSK-0020.md +0 -41
- claude_mpm-3.3.2/tickets/tasks/TSK-0021.md +0 -41
- claude_mpm-3.3.2/tickets/tasks/TSK-0022.md +0 -41
- claude_mpm-3.3.2/tickets/tasks/TSK-0023.md +0 -42
- claude_mpm-3.3.2/tickets/tasks/TSK-0024.md +0 -41
- claude_mpm-3.3.2/tickets/tasks/TSK-0025.md +0 -41
- claude_mpm-3.3.2/tickets/tasks/TSK-0026.md +0 -41
- claude_mpm-3.3.2/tickets/tasks/TSK-0027.md +0 -41
- claude_mpm-3.3.2/tickets/tasks/TSK-0028.md +0 -42
- claude_mpm-3.3.2/tickets/tasks/TSK-0029.md +0 -42
- claude_mpm-3.3.2/tickets/tasks/TSK-0030.md +0 -42
- claude_mpm-3.3.2/tickets/tasks/TSK-0031.md +0 -219
- claude_mpm-3.3.2/tickets/tasks/TSK-0032.md +0 -249
- claude_mpm-3.3.2/tickets/tasks/TSK-0033.md +0 -129
- claude_mpm-3.3.2/tickets/tasks/TSK-0034.md +0 -122
- claude_mpm-3.3.2/tickets/tasks/TSK-0035.md +0 -129
- claude_mpm-3.3.2/tickets/tasks/TSK-0036.md +0 -152
- claude_mpm-3.3.2/tickets/tasks/TSK-0037.md +0 -42
- claude_mpm-3.3.2/tickets/tasks/TSK-0038.md +0 -42
- claude_mpm-3.3.2/tickets/tasks/TSK-0039.md +0 -42
- claude_mpm-3.3.2/tickets/tasks/TSK-0040.md +0 -64
- claude_mpm-3.3.2/tickets/tasks/TSK-0041.md +0 -63
- claude_mpm-3.3.2/tickets/tasks/TSK-0042.md +0 -71
- claude_mpm-3.3.2/tickets/tasks/TSK-0043.md +0 -81
- claude_mpm-3.3.2/tickets/tasks/TSK-0044.md +0 -88
- claude_mpm-3.3.2/tickets/tasks/TSK-0045.md +0 -42
- claude_mpm-3.3.2/tickets/tasks/TSK-0046.md +0 -126
- claude_mpm-3.3.2/uninstall.sh +0 -73
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/CLAUDE.md +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/LICENSE +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/claude-mpm +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/pyproject.toml +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/requirements.txt +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/scripts/run_mpm.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/scripts/ticket +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/setup.cfg +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/setup.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/__init__.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/__main__.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/agents/BASE_AGENT_TEMPLATE.md +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/agents/INSTRUCTIONS.md +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/agents/__init__.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/agents/agent_loader.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/agents/agent_loader_integration.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/agents/agents_metadata.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/agents/backups/INSTRUCTIONS.md +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/agents/base_agent.json +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/agents/base_agent_loader.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/agents/schema/agent_schema.json +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/agents/system_agent_config.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/agents/templates/__init__.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/agents/templates/backup/data_engineer_agent_20250726_234551.json +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/agents/templates/backup/documentation_agent_20250726_234551.json +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/agents/templates/backup/engineer_agent_20250726_234551.json +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/agents/templates/backup/ops_agent_20250726_234551.json +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/agents/templates/backup/qa_agent_20250726_234551.json +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/agents/templates/backup/research_agent_20250726_234551.json +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/agents/templates/backup/security_agent_20250726_234551.json +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/agents/templates/backup/version_control_agent_20250726_234551.json +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/agents/templates/data_engineer.json +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/agents/templates/documentation.json +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/agents/templates/engineer.json +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/agents/templates/ops.json +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/agents/templates/pm.json +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/agents/templates/qa.json +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/agents/templates/research.json +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/agents/templates/security.json +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/agents/templates/test_integration.json +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/agents/templates/version_control.json +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/cli/__init__.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/cli/commands/__init__.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/cli/commands/agents.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/cli/commands/info.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/cli/commands/run.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/cli/commands/tickets.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/cli/commands/ui.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/cli/utils.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/cli_module/__init__.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/cli_module/args.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/cli_module/commands.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/cli_module/migration_example.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/config/__init__.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/config/socketio_config.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/core/__init__.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/core/agent_name_normalizer.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/core/agent_registry.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/core/agent_session_manager.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/core/base_service.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/core/config_aliases.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/core/container.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/core/factories.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/core/framework_loader.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/core/hook_manager.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/core/injectable_service.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/core/interfaces.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/core/logger.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/core/minimal_framework_loader.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/core/mixins.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/core/pm_hook_interceptor.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/core/service_registry.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/core/session_manager.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/core/socketio_pool.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/core/tool_access_control.py +0 -0
- {claude_mpm-3.3.2/src/claude_mpm/web → claude_mpm-3.4.2/src/claude_mpm/dashboard}/open_dashboard.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/deployment_paths.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/experimental/cli_enhancements.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/generators/__init__.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/generators/agent_profile_generator.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/hooks/__init__.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/hooks/base_hook.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/hooks/builtin/__init__.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/hooks/builtin/logging_hook_example.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/hooks/builtin/memory_hooks_example.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/hooks/builtin/post_delegation_hook_example.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/hooks/builtin/pre_delegation_hook_example.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/hooks/builtin/submit_hook_example.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/hooks/builtin/ticket_extraction_hook_example.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/hooks/builtin/todo_agent_prefix_hook.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/hooks/builtin/workflow_start_hook.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/hooks/claude_hooks/__init__.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/hooks/tool_call_interceptor.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/hooks/validation_hooks.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/init.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/models/__init__.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/models/agent_definition.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/orchestration/__init__.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/orchestration/archive/direct_orchestrator.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/orchestration/archive/factory.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/orchestration/archive/hook_enabled_orchestrator.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/orchestration/archive/hook_integration_example.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/orchestration/archive/interactive_subprocess_orchestrator.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/orchestration/archive/orchestrator.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/orchestration/archive/pexpect_orchestrator.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/orchestration/archive/pty_orchestrator.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/orchestration/archive/simple_orchestrator.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/orchestration/archive/subprocess_orchestrator.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/orchestration/archive/system_prompt_orchestrator.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/orchestration/archive/wrapper_orchestrator.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/schemas/workflow_validator.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/scripts/__init__.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/scripts/claude-mpm-socketio +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/scripts/claude_mpm_monitor.html +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/scripts/install_socketio_server.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/scripts/launch_monitor.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/scripts/launch_socketio_dashboard.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/scripts/manage_version.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/scripts/ticket.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/agent_capabilities_generator.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/agent_deployment.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/agent_lifecycle_manager.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/agent_management_service.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/agent_modification_tracker.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/agent_persistence_service.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/agent_profile_loader.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/agent_registry.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/agent_versioning.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/base_agent_manager.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/deployed_agent_discovery.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/framework_agent_loader.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/framework_claude_md_generator/__init__.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/framework_claude_md_generator/content_assembler.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/framework_claude_md_generator/content_validator.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/framework_claude_md_generator/deployment_manager.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/framework_claude_md_generator/section_generators/__init__.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/framework_claude_md_generator/section_generators/agents.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/framework_claude_md_generator/section_generators/claude_pm_init.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/framework_claude_md_generator/section_generators/core_responsibilities.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/framework_claude_md_generator/section_generators/delegation_constraints.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/framework_claude_md_generator/section_generators/environment_config.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/framework_claude_md_generator/section_generators/footer.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/framework_claude_md_generator/section_generators/header.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/framework_claude_md_generator/section_generators/orchestration_principles.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/framework_claude_md_generator/section_generators/role_designation.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/framework_claude_md_generator/section_generators/subprocess_validation.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/framework_claude_md_generator/section_generators/todo_task_tools.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/framework_claude_md_generator/section_generators/troubleshooting.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/framework_claude_md_generator/section_manager.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/framework_claude_md_generator/version_manager.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/framework_claude_md_generator.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/hook_service.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/memory_router.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/parent_directory_manager/__init__.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/parent_directory_manager/backup_manager.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/parent_directory_manager/config_manager.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/parent_directory_manager/deduplication_manager.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/parent_directory_manager/framework_protector.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/parent_directory_manager/operations.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/parent_directory_manager/state_manager.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/parent_directory_manager/template_deployer.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/parent_directory_manager/validation_manager.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/parent_directory_manager/version_control_helper.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/parent_directory_manager/version_manager.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/shared_prompt_cache.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/socketio_client_manager.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/ticket_manager.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/ticket_manager_di.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/ticketing_service_original.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/version_control/__init__.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/version_control/branch_strategy.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/version_control/conflict_resolution.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/services/version_control/semantic_versioning.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/ui/__init__.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/ui/rich_terminal_ui.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/ui/terminal_ui.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/utils/__init__.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/utils/config_manager.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/utils/dependency_manager.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/utils/error_handler.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/utils/framework_detection.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/utils/import_migration_example.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/utils/imports.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/utils/path_operations.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/utils/paths.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/validation/__init__.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm/validation/agent_validator.py +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm.egg-info/dependency_links.txt +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm.egg-info/entry_points.txt +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm.egg-info/requires.txt +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/src/claude_mpm.egg-info/top_level.txt +0 -0
- {claude_mpm-3.3.2 → claude_mpm-3.4.2}/ticket +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: claude-mpm
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.4.2
|
|
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
|
|
@@ -57,6 +57,7 @@ A powerful orchestration framework for Claude Code that enables multi-agent work
|
|
|
57
57
|
## Features
|
|
58
58
|
|
|
59
59
|
- 🤖 **Multi-Agent System**: Automatically delegates tasks to specialized agents (PM, Research, Engineer, QA, Documentation, Security, Ops, Data Engineer)
|
|
60
|
+
- 🧠 **Agent Memory System**: Persistent learning with project-specific knowledge retention
|
|
60
61
|
- 🔄 **Session Management**: Resume previous sessions with `--resume`
|
|
61
62
|
- 📊 **Real-Time Monitoring**: Live dashboard with `--monitor` flag
|
|
62
63
|
- 📁 **Multi-Project Support**: Per-session working directories
|
|
@@ -108,6 +109,26 @@ The PM agent automatically delegates work to specialized agents:
|
|
|
108
109
|
- Switch between projects with per-session directories
|
|
109
110
|
- View session history and activity
|
|
110
111
|
|
|
112
|
+
### Agent Memory System
|
|
113
|
+
Agents learn and improve over time with persistent memory:
|
|
114
|
+
- **Project-Specific Knowledge**: Automatically analyzes your codebase to understand patterns
|
|
115
|
+
- **Continuous Learning**: Agents remember insights across sessions
|
|
116
|
+
- **Memory Management**: Initialize, optimize, and manage agent memories
|
|
117
|
+
- **Quick Initialization**: Use `/mpm memory init` to scan project and create memories
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
# Initialize project-specific memories
|
|
121
|
+
claude-mpm memory init
|
|
122
|
+
|
|
123
|
+
# View memory status
|
|
124
|
+
claude-mpm memory status
|
|
125
|
+
|
|
126
|
+
# Add specific learning
|
|
127
|
+
claude-mpm memory add engineer pattern "Always use async/await for I/O"
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
See [docs/MEMORY.md](docs/MEMORY.md) for comprehensive memory system documentation.
|
|
131
|
+
|
|
111
132
|
### Real-Time Monitoring
|
|
112
133
|
The `--monitor` flag opens a web dashboard showing:
|
|
113
134
|
- Live agent activity and delegations
|
|
@@ -121,23 +142,26 @@ See [docs/monitoring.md](docs/monitoring.md) for full monitoring guide.
|
|
|
121
142
|
## Documentation
|
|
122
143
|
|
|
123
144
|
- **[Quick Start Guide](QUICKSTART.md)** - Get running in 5 minutes
|
|
145
|
+
- **[Agent Memory System](docs/MEMORY.md)** - Comprehensive memory documentation
|
|
124
146
|
- **[Monitoring Dashboard](docs/monitoring.md)** - Real-time monitoring features
|
|
125
147
|
- **[Project Structure](docs/STRUCTURE.md)** - Codebase organization
|
|
126
148
|
- **[Deployment Guide](docs/DEPLOY.md)** - Publishing and versioning
|
|
127
149
|
- **[User Guide](docs/user/)** - Detailed usage documentation
|
|
128
150
|
- **[Developer Guide](docs/developer/)** - Architecture and API reference
|
|
129
151
|
|
|
130
|
-
## Recent Updates (v3.
|
|
152
|
+
## Recent Updates (v3.4.0)
|
|
131
153
|
|
|
132
|
-
###
|
|
133
|
-
-
|
|
134
|
-
-
|
|
135
|
-
-
|
|
154
|
+
### Agent Memory System
|
|
155
|
+
- **Project-Specific Memory Generation**: Automatic analysis of project characteristics
|
|
156
|
+
- **Memory Initialization Command**: New `/mpm memory init` for quick project onboarding
|
|
157
|
+
- **Enhanced Documentation Processing**: Dynamic file discovery based on project type
|
|
158
|
+
- **Improved Memory Templates**: Clean section headers with programmatic limit enforcement
|
|
136
159
|
|
|
137
|
-
###
|
|
138
|
-
-
|
|
139
|
-
-
|
|
140
|
-
-
|
|
160
|
+
### Project Organization
|
|
161
|
+
- **Deep Clean**: Comprehensive project structure cleanup for publishing readiness
|
|
162
|
+
- **Documentation Archives**: Historical reports organized in docs/archive/
|
|
163
|
+
- **Test Organization**: All tests properly relocated to /tests/ directory
|
|
164
|
+
- **Enhanced .gitignore**: Prevents temporary and debug file commits
|
|
141
165
|
|
|
142
166
|
See [CHANGELOG.md](CHANGELOG.md) for full history.
|
|
143
167
|
|
|
@@ -7,6 +7,7 @@ A powerful orchestration framework for Claude Code that enables multi-agent work
|
|
|
7
7
|
## Features
|
|
8
8
|
|
|
9
9
|
- 🤖 **Multi-Agent System**: Automatically delegates tasks to specialized agents (PM, Research, Engineer, QA, Documentation, Security, Ops, Data Engineer)
|
|
10
|
+
- 🧠 **Agent Memory System**: Persistent learning with project-specific knowledge retention
|
|
10
11
|
- 🔄 **Session Management**: Resume previous sessions with `--resume`
|
|
11
12
|
- 📊 **Real-Time Monitoring**: Live dashboard with `--monitor` flag
|
|
12
13
|
- 📁 **Multi-Project Support**: Per-session working directories
|
|
@@ -58,6 +59,26 @@ The PM agent automatically delegates work to specialized agents:
|
|
|
58
59
|
- Switch between projects with per-session directories
|
|
59
60
|
- View session history and activity
|
|
60
61
|
|
|
62
|
+
### Agent Memory System
|
|
63
|
+
Agents learn and improve over time with persistent memory:
|
|
64
|
+
- **Project-Specific Knowledge**: Automatically analyzes your codebase to understand patterns
|
|
65
|
+
- **Continuous Learning**: Agents remember insights across sessions
|
|
66
|
+
- **Memory Management**: Initialize, optimize, and manage agent memories
|
|
67
|
+
- **Quick Initialization**: Use `/mpm memory init` to scan project and create memories
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
# Initialize project-specific memories
|
|
71
|
+
claude-mpm memory init
|
|
72
|
+
|
|
73
|
+
# View memory status
|
|
74
|
+
claude-mpm memory status
|
|
75
|
+
|
|
76
|
+
# Add specific learning
|
|
77
|
+
claude-mpm memory add engineer pattern "Always use async/await for I/O"
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
See [docs/MEMORY.md](docs/MEMORY.md) for comprehensive memory system documentation.
|
|
81
|
+
|
|
61
82
|
### Real-Time Monitoring
|
|
62
83
|
The `--monitor` flag opens a web dashboard showing:
|
|
63
84
|
- Live agent activity and delegations
|
|
@@ -71,23 +92,26 @@ See [docs/monitoring.md](docs/monitoring.md) for full monitoring guide.
|
|
|
71
92
|
## Documentation
|
|
72
93
|
|
|
73
94
|
- **[Quick Start Guide](QUICKSTART.md)** - Get running in 5 minutes
|
|
95
|
+
- **[Agent Memory System](docs/MEMORY.md)** - Comprehensive memory documentation
|
|
74
96
|
- **[Monitoring Dashboard](docs/monitoring.md)** - Real-time monitoring features
|
|
75
97
|
- **[Project Structure](docs/STRUCTURE.md)** - Codebase organization
|
|
76
98
|
- **[Deployment Guide](docs/DEPLOY.md)** - Publishing and versioning
|
|
77
99
|
- **[User Guide](docs/user/)** - Detailed usage documentation
|
|
78
100
|
- **[Developer Guide](docs/developer/)** - Architecture and API reference
|
|
79
101
|
|
|
80
|
-
## Recent Updates (v3.
|
|
102
|
+
## Recent Updates (v3.4.0)
|
|
81
103
|
|
|
82
|
-
###
|
|
83
|
-
-
|
|
84
|
-
-
|
|
85
|
-
-
|
|
104
|
+
### Agent Memory System
|
|
105
|
+
- **Project-Specific Memory Generation**: Automatic analysis of project characteristics
|
|
106
|
+
- **Memory Initialization Command**: New `/mpm memory init` for quick project onboarding
|
|
107
|
+
- **Enhanced Documentation Processing**: Dynamic file discovery based on project type
|
|
108
|
+
- **Improved Memory Templates**: Clean section headers with programmatic limit enforcement
|
|
86
109
|
|
|
87
|
-
###
|
|
88
|
-
-
|
|
89
|
-
-
|
|
90
|
-
-
|
|
110
|
+
### Project Organization
|
|
111
|
+
- **Deep Clean**: Comprehensive project structure cleanup for publishing readiness
|
|
112
|
+
- **Documentation Archives**: Historical reports organized in docs/archive/
|
|
113
|
+
- **Test Organization**: All tests properly relocated to /tests/ directory
|
|
114
|
+
- **Enhanced .gitignore**: Prevents temporary and debug file commits
|
|
91
115
|
|
|
92
116
|
See [CHANGELOG.md](CHANGELOG.md) for full history.
|
|
93
117
|
|
claude_mpm-3.4.2/VERSION
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.4.2
|
|
@@ -10,6 +10,7 @@ with other command modules like agents.py.
|
|
|
10
10
|
"""
|
|
11
11
|
|
|
12
12
|
import json
|
|
13
|
+
import os
|
|
13
14
|
from datetime import datetime
|
|
14
15
|
from pathlib import Path
|
|
15
16
|
|
|
@@ -38,7 +39,11 @@ def manage_memory(args):
|
|
|
38
39
|
try:
|
|
39
40
|
# Load configuration for memory manager
|
|
40
41
|
config = Config()
|
|
41
|
-
|
|
42
|
+
# Use CLAUDE_MPM_USER_PWD if available (when called via shell script),
|
|
43
|
+
# otherwise use current working directory
|
|
44
|
+
user_pwd = os.environ.get('CLAUDE_MPM_USER_PWD', os.getcwd())
|
|
45
|
+
current_dir = Path(user_pwd)
|
|
46
|
+
memory_manager = AgentMemoryManager(config, current_dir)
|
|
42
47
|
|
|
43
48
|
if not args.memory_command:
|
|
44
49
|
# No subcommand - show status
|
|
@@ -49,7 +54,7 @@ def manage_memory(args):
|
|
|
49
54
|
_show_status(memory_manager)
|
|
50
55
|
|
|
51
56
|
elif args.memory_command == "view":
|
|
52
|
-
|
|
57
|
+
_show_memories(args, memory_manager)
|
|
53
58
|
|
|
54
59
|
elif args.memory_command == "add":
|
|
55
60
|
_add_learning(args, memory_manager)
|
|
@@ -72,6 +77,15 @@ def manage_memory(args):
|
|
|
72
77
|
elif args.memory_command == "show":
|
|
73
78
|
_show_memories(args, memory_manager)
|
|
74
79
|
|
|
80
|
+
elif args.memory_command == "init":
|
|
81
|
+
_init_memory(args, memory_manager)
|
|
82
|
+
|
|
83
|
+
else:
|
|
84
|
+
logger.error(f"Unknown memory command: {args.memory_command}")
|
|
85
|
+
print(f"Unknown memory command: {args.memory_command}")
|
|
86
|
+
print("Available commands: init, status, view, add, clean, optimize, build, cross-ref, route, show")
|
|
87
|
+
return 1
|
|
88
|
+
|
|
75
89
|
except Exception as e:
|
|
76
90
|
logger.error(f"Error managing memory: {e}")
|
|
77
91
|
print(f"❌ Error: {e}")
|
|
@@ -80,6 +94,71 @@ def manage_memory(args):
|
|
|
80
94
|
return 0
|
|
81
95
|
|
|
82
96
|
|
|
97
|
+
def _init_memory(args, memory_manager):
|
|
98
|
+
"""
|
|
99
|
+
Initialize project-specific memories via agent delegation.
|
|
100
|
+
|
|
101
|
+
WHY: When starting with a new project, agents need project-specific knowledge
|
|
102
|
+
beyond what automatic analysis provides. This command triggers an agent task
|
|
103
|
+
to comprehensively scan the project and create custom memories.
|
|
104
|
+
|
|
105
|
+
Args:
|
|
106
|
+
args: Command line arguments (unused but kept for consistency)
|
|
107
|
+
memory_manager: AgentMemoryManager instance
|
|
108
|
+
"""
|
|
109
|
+
logger = get_logger("cli")
|
|
110
|
+
|
|
111
|
+
print("🚀 Initializing project-specific memories...")
|
|
112
|
+
print("=" * 80)
|
|
113
|
+
print()
|
|
114
|
+
print("This will analyze the project to:")
|
|
115
|
+
print(" 1. Scan project structure and documentation")
|
|
116
|
+
print(" 2. Analyze source code for patterns and conventions")
|
|
117
|
+
print(" 3. Create targeted memories for each agent type")
|
|
118
|
+
print(" 4. Add insights using 'claude-mpm memory add' commands")
|
|
119
|
+
print()
|
|
120
|
+
print("The analysis will cover:")
|
|
121
|
+
print(" • Project architecture and design patterns")
|
|
122
|
+
print(" • Coding conventions and standards")
|
|
123
|
+
print(" • Key modules and integration points")
|
|
124
|
+
print(" • Testing patterns and quality standards")
|
|
125
|
+
print(" • Performance considerations")
|
|
126
|
+
print(" • Domain-specific terminology")
|
|
127
|
+
print()
|
|
128
|
+
print("=" * 80)
|
|
129
|
+
print()
|
|
130
|
+
print("[Agent Task: Initialize Project-Specific Memories]")
|
|
131
|
+
print()
|
|
132
|
+
print("Please analyze this project and create custom memories for all agents.")
|
|
133
|
+
print()
|
|
134
|
+
print("Instructions:")
|
|
135
|
+
print("1. Scan the project structure, documentation, and source code")
|
|
136
|
+
print("2. Identify key patterns, conventions, and project-specific knowledge")
|
|
137
|
+
print("3. Create targeted memories for each agent type")
|
|
138
|
+
print("4. Use 'claude-mpm memory add <agent> <type> \"<content>\"' commands")
|
|
139
|
+
print()
|
|
140
|
+
print("Focus areas:")
|
|
141
|
+
print(" • Architectural patterns and design decisions")
|
|
142
|
+
print(" • Coding conventions from actual source code")
|
|
143
|
+
print(" • Key modules, APIs, and integration points")
|
|
144
|
+
print(" • Testing patterns and quality standards")
|
|
145
|
+
print(" • Performance considerations specific to this project")
|
|
146
|
+
print(" • Common pitfalls based on the codebase")
|
|
147
|
+
print(" • Domain-specific terminology and concepts")
|
|
148
|
+
print()
|
|
149
|
+
print("Example commands to use:")
|
|
150
|
+
print(' claude-mpm memory add engineer pattern "Use dependency injection with @inject"')
|
|
151
|
+
print(' claude-mpm memory add qa pattern "Test files follow test_<module>_<feature>.py"')
|
|
152
|
+
print(' claude-mpm memory add research context "Project uses microservices architecture"')
|
|
153
|
+
print()
|
|
154
|
+
print("Begin by examining the project structure and key files.")
|
|
155
|
+
print()
|
|
156
|
+
print("=" * 80)
|
|
157
|
+
print()
|
|
158
|
+
print("📝 Note: Copy the task above to execute the memory initialization process.")
|
|
159
|
+
print(" Use 'claude-mpm memory add' commands to add discovered insights.")
|
|
160
|
+
|
|
161
|
+
|
|
83
162
|
def _show_status(memory_manager):
|
|
84
163
|
"""
|
|
85
164
|
Show comprehensive memory system status.
|
|
@@ -113,7 +192,7 @@ def _show_status(memory_manager):
|
|
|
113
192
|
print(f"🧠 Memory System Health: {health_emoji} {system_health}")
|
|
114
193
|
print(f"📁 Memory Directory: {status.get('memory_directory', 'Unknown')}")
|
|
115
194
|
print(f"🔧 System Enabled: {'Yes' if status.get('system_enabled', True) else 'No'}")
|
|
116
|
-
print(f"📚 Auto Learning: {'Yes' if status.get('auto_learning',
|
|
195
|
+
print(f"📚 Auto Learning: {'Yes' if status.get('auto_learning', True) else 'No'}")
|
|
117
196
|
print(f"📊 Total Agents: {status.get('total_agents', 0)}")
|
|
118
197
|
print(f"💾 Total Size: {status.get('total_size_kb', 0):.1f} KB")
|
|
119
198
|
print()
|
|
@@ -143,7 +222,7 @@ def _show_status(memory_manager):
|
|
|
143
222
|
sections = agent_info.get("sections", 0)
|
|
144
223
|
items = agent_info.get("items", 0)
|
|
145
224
|
last_modified = agent_info.get("last_modified", "Unknown")
|
|
146
|
-
auto_learning = agent_info.get("auto_learning",
|
|
225
|
+
auto_learning = agent_info.get("auto_learning", True)
|
|
147
226
|
|
|
148
227
|
# Format last modified time
|
|
149
228
|
try:
|
|
@@ -474,24 +553,48 @@ def _show_memories(args, memory_manager):
|
|
|
474
553
|
WHY: Users need to see agent memories in a readable format to understand
|
|
475
554
|
what agents have learned and identify common patterns across agents.
|
|
476
555
|
|
|
556
|
+
DESIGN DECISION: Added --raw flag to output structured JSON data for
|
|
557
|
+
programmatic processing, enabling external tools and scripts to access
|
|
558
|
+
all agent memories in a structured format.
|
|
559
|
+
|
|
477
560
|
Args:
|
|
478
|
-
args: Command arguments with optional agent_id and
|
|
561
|
+
args: Command arguments with optional agent_id, format, and raw flag
|
|
479
562
|
memory_manager: AgentMemoryManager instance
|
|
480
563
|
"""
|
|
481
|
-
print("🧠 Agent Memories Display")
|
|
482
|
-
print("-" * 80)
|
|
483
|
-
|
|
484
564
|
agent_id = getattr(args, 'agent_id', None)
|
|
485
|
-
format_type = getattr(args, 'format', '
|
|
565
|
+
format_type = getattr(args, 'format', 'detailed')
|
|
566
|
+
raw_output = getattr(args, 'raw', False)
|
|
486
567
|
|
|
487
568
|
try:
|
|
488
|
-
if
|
|
489
|
-
|
|
569
|
+
if raw_output:
|
|
570
|
+
# Output structured JSON data
|
|
571
|
+
if agent_id:
|
|
572
|
+
# Get single agent memory in raw format
|
|
573
|
+
_output_single_agent_raw(agent_id, memory_manager)
|
|
574
|
+
else:
|
|
575
|
+
# Get all agent memories in raw format
|
|
576
|
+
_output_all_memories_raw(memory_manager)
|
|
490
577
|
else:
|
|
491
|
-
|
|
578
|
+
# Normal user-friendly display
|
|
579
|
+
print("🧠 Agent Memories Display")
|
|
580
|
+
print("-" * 80)
|
|
492
581
|
|
|
582
|
+
if agent_id:
|
|
583
|
+
_show_single_agent_memory(agent_id, format_type, memory_manager)
|
|
584
|
+
else:
|
|
585
|
+
_show_all_agent_memories(format_type, memory_manager)
|
|
586
|
+
|
|
493
587
|
except Exception as e:
|
|
494
|
-
|
|
588
|
+
if raw_output:
|
|
589
|
+
# Output error in JSON format for consistency
|
|
590
|
+
error_output = {
|
|
591
|
+
"success": False,
|
|
592
|
+
"error": str(e),
|
|
593
|
+
"timestamp": datetime.now().isoformat()
|
|
594
|
+
}
|
|
595
|
+
print(json.dumps(error_output, indent=2))
|
|
596
|
+
else:
|
|
597
|
+
print(f"❌ Error showing memories: {e}")
|
|
495
598
|
|
|
496
599
|
|
|
497
600
|
def _show_single_agent_memory(agent_id, format_type, memory_manager):
|
|
@@ -779,4 +882,79 @@ def _display_bulk_optimization_results(result):
|
|
|
779
882
|
print(f" {agent_id}: {reduction}% reduction{status}")
|
|
780
883
|
else:
|
|
781
884
|
error = agent_result.get("error", "Unknown error")
|
|
782
|
-
print(f" {agent_id}: ❌ {error}")
|
|
885
|
+
print(f" {agent_id}: ❌ {error}")
|
|
886
|
+
|
|
887
|
+
|
|
888
|
+
def _output_all_memories_raw(memory_manager):
|
|
889
|
+
"""
|
|
890
|
+
Output all agent memories in raw JSON format.
|
|
891
|
+
|
|
892
|
+
WHY: Provides programmatic access to all agent memories for external tools,
|
|
893
|
+
scripts, or APIs that need to process or analyze the complete memory state.
|
|
894
|
+
|
|
895
|
+
Args:
|
|
896
|
+
memory_manager: AgentMemoryManager instance
|
|
897
|
+
"""
|
|
898
|
+
try:
|
|
899
|
+
raw_data = memory_manager.get_all_memories_raw()
|
|
900
|
+
print(json.dumps(raw_data, indent=2, ensure_ascii=False))
|
|
901
|
+
except Exception as e:
|
|
902
|
+
error_output = {
|
|
903
|
+
"success": False,
|
|
904
|
+
"error": f"Failed to retrieve all memories: {str(e)}",
|
|
905
|
+
"timestamp": datetime.now().isoformat()
|
|
906
|
+
}
|
|
907
|
+
print(json.dumps(error_output, indent=2))
|
|
908
|
+
|
|
909
|
+
|
|
910
|
+
def _output_single_agent_raw(agent_id, memory_manager):
|
|
911
|
+
"""
|
|
912
|
+
Output single agent memory in raw JSON format.
|
|
913
|
+
|
|
914
|
+
WHY: Provides programmatic access to a specific agent's memory for
|
|
915
|
+
targeted analysis or processing by external tools.
|
|
916
|
+
|
|
917
|
+
Args:
|
|
918
|
+
agent_id: ID of the agent to retrieve memory for
|
|
919
|
+
memory_manager: AgentMemoryManager instance
|
|
920
|
+
"""
|
|
921
|
+
try:
|
|
922
|
+
# Get all memories and extract the specific agent
|
|
923
|
+
all_memories = memory_manager.get_all_memories_raw()
|
|
924
|
+
|
|
925
|
+
if not all_memories.get("success", False):
|
|
926
|
+
error_output = {
|
|
927
|
+
"success": False,
|
|
928
|
+
"error": all_memories.get("error", "Failed to retrieve memories"),
|
|
929
|
+
"timestamp": datetime.now().isoformat()
|
|
930
|
+
}
|
|
931
|
+
print(json.dumps(error_output, indent=2))
|
|
932
|
+
return
|
|
933
|
+
|
|
934
|
+
agents = all_memories.get("agents", {})
|
|
935
|
+
if agent_id not in agents:
|
|
936
|
+
error_output = {
|
|
937
|
+
"success": False,
|
|
938
|
+
"error": f"No memory found for agent: {agent_id}",
|
|
939
|
+
"available_agents": list(agents.keys()),
|
|
940
|
+
"timestamp": datetime.now().isoformat()
|
|
941
|
+
}
|
|
942
|
+
print(json.dumps(error_output, indent=2))
|
|
943
|
+
return
|
|
944
|
+
|
|
945
|
+
# Return single agent data with metadata
|
|
946
|
+
single_agent_output = {
|
|
947
|
+
"success": True,
|
|
948
|
+
"timestamp": all_memories["timestamp"],
|
|
949
|
+
"agent": agents[agent_id]
|
|
950
|
+
}
|
|
951
|
+
|
|
952
|
+
print(json.dumps(single_agent_output, indent=2, ensure_ascii=False))
|
|
953
|
+
|
|
954
|
+
except Exception as e:
|
|
955
|
+
error_output = {
|
|
956
|
+
"success": False,
|
|
957
|
+
"error": f"Failed to retrieve memory for agent {agent_id}: {str(e)}",
|
|
958
|
+
"timestamp": datetime.now().isoformat()
|
|
959
|
+
}
|
|
960
|
+
print(json.dumps(error_output, indent=2))
|
|
@@ -366,6 +366,12 @@ def create_parser(prog_name: str = "claude-mpm", version: str = "0.0.0") -> argp
|
|
|
366
366
|
metavar="SUBCOMMAND"
|
|
367
367
|
)
|
|
368
368
|
|
|
369
|
+
# Init command
|
|
370
|
+
init_parser = memory_subparsers.add_parser(
|
|
371
|
+
MemoryCommands.INIT.value,
|
|
372
|
+
help="Initialize project-specific memories via PM agent"
|
|
373
|
+
)
|
|
374
|
+
|
|
369
375
|
# Status command
|
|
370
376
|
status_parser = memory_subparsers.add_parser(
|
|
371
377
|
MemoryCommands.STATUS.value,
|
|
@@ -379,7 +385,8 @@ def create_parser(prog_name: str = "claude-mpm", version: str = "0.0.0") -> argp
|
|
|
379
385
|
)
|
|
380
386
|
view_parser.add_argument(
|
|
381
387
|
"agent_id",
|
|
382
|
-
|
|
388
|
+
nargs="?",
|
|
389
|
+
help="Agent ID to view memory for (optional - shows all agents if not provided)"
|
|
383
390
|
)
|
|
384
391
|
|
|
385
392
|
# Add command
|
|
@@ -468,6 +475,11 @@ def create_parser(prog_name: str = "claude-mpm", version: str = "0.0.0") -> argp
|
|
|
468
475
|
default="summary",
|
|
469
476
|
help="Display format: summary (default), detailed, or full"
|
|
470
477
|
)
|
|
478
|
+
show_parser.add_argument(
|
|
479
|
+
"--raw",
|
|
480
|
+
action="store_true",
|
|
481
|
+
help="Output raw memory content in JSON format for programmatic processing"
|
|
482
|
+
)
|
|
471
483
|
|
|
472
484
|
return parser
|
|
473
485
|
|
|
@@ -13,10 +13,14 @@ import uuid
|
|
|
13
13
|
try:
|
|
14
14
|
from claude_mpm.services.agent_deployment import AgentDeploymentService
|
|
15
15
|
from claude_mpm.services.ticket_manager import TicketManager
|
|
16
|
+
from claude_mpm.services.hook_service import HookService
|
|
17
|
+
from claude_mpm.core.config import Config
|
|
16
18
|
from claude_mpm.core.logger import get_logger, get_project_logger, ProjectLogger
|
|
17
19
|
except ImportError:
|
|
18
20
|
from claude_mpm.services.agent_deployment import AgentDeploymentService
|
|
19
21
|
from claude_mpm.services.ticket_manager import TicketManager
|
|
22
|
+
from claude_mpm.services.hook_service import HookService
|
|
23
|
+
from claude_mpm.core.config import Config
|
|
20
24
|
from claude_mpm.core.logger import get_logger, get_project_logger, ProjectLogger
|
|
21
25
|
|
|
22
26
|
|
|
@@ -76,6 +80,11 @@ class ClaudeRunner:
|
|
|
76
80
|
self.ticket_manager = None
|
|
77
81
|
self.enable_tickets = False
|
|
78
82
|
|
|
83
|
+
# Initialize hook service and register memory hooks
|
|
84
|
+
self.config = Config()
|
|
85
|
+
self.hook_service = HookService(self.config)
|
|
86
|
+
self._register_memory_hooks()
|
|
87
|
+
|
|
79
88
|
# Load system instructions
|
|
80
89
|
self.system_instructions = self._load_system_instructions()
|
|
81
90
|
|
|
@@ -741,6 +750,58 @@ class ClaudeRunner:
|
|
|
741
750
|
except Exception as e:
|
|
742
751
|
self.logger.debug(f"Failed to log session event: {e}")
|
|
743
752
|
|
|
753
|
+
def _register_memory_hooks(self):
|
|
754
|
+
"""Register memory integration hooks with the hook service.
|
|
755
|
+
|
|
756
|
+
WHY: This activates the memory system by registering hooks that automatically
|
|
757
|
+
inject agent memory before delegation and extract learnings after delegation.
|
|
758
|
+
This is the critical connection point between the memory system and the CLI.
|
|
759
|
+
|
|
760
|
+
DESIGN DECISION: We register hooks here instead of in __init__ to ensure
|
|
761
|
+
all services are initialized first. Hooks are only registered if the memory
|
|
762
|
+
system is enabled in configuration.
|
|
763
|
+
"""
|
|
764
|
+
try:
|
|
765
|
+
# Only register if memory system is enabled
|
|
766
|
+
if not self.config.get('memory.enabled', True):
|
|
767
|
+
self.logger.debug("Memory system disabled - skipping hook registration")
|
|
768
|
+
return
|
|
769
|
+
|
|
770
|
+
# Import hook classes (lazy import to avoid circular dependencies)
|
|
771
|
+
from claude_mpm.hooks.memory_integration_hook import (
|
|
772
|
+
MemoryPreDelegationHook,
|
|
773
|
+
MemoryPostDelegationHook
|
|
774
|
+
)
|
|
775
|
+
|
|
776
|
+
# Register pre-delegation hook for memory injection
|
|
777
|
+
pre_hook = MemoryPreDelegationHook(self.config)
|
|
778
|
+
success = self.hook_service.register_hook(pre_hook)
|
|
779
|
+
if success:
|
|
780
|
+
self.logger.info(f"✅ Registered memory pre-delegation hook (priority: {pre_hook.priority})")
|
|
781
|
+
else:
|
|
782
|
+
self.logger.warning("❌ Failed to register memory pre-delegation hook")
|
|
783
|
+
|
|
784
|
+
# Register post-delegation hook if auto-learning is enabled
|
|
785
|
+
if self.config.get('memory.auto_learning', True): # Default to True now
|
|
786
|
+
post_hook = MemoryPostDelegationHook(self.config)
|
|
787
|
+
success = self.hook_service.register_hook(post_hook)
|
|
788
|
+
if success:
|
|
789
|
+
self.logger.info(f"✅ Registered memory post-delegation hook (priority: {post_hook.priority})")
|
|
790
|
+
else:
|
|
791
|
+
self.logger.warning("❌ Failed to register memory post-delegation hook")
|
|
792
|
+
else:
|
|
793
|
+
self.logger.info("ℹ️ Auto-learning disabled - skipping post-delegation hook")
|
|
794
|
+
|
|
795
|
+
# Log summary of registered hooks
|
|
796
|
+
hooks = self.hook_service.list_hooks()
|
|
797
|
+
pre_count = len(hooks.get('pre_delegation', []))
|
|
798
|
+
post_count = len(hooks.get('post_delegation', []))
|
|
799
|
+
self.logger.info(f"📋 Hook Service initialized: {pre_count} pre-delegation, {post_count} post-delegation hooks")
|
|
800
|
+
|
|
801
|
+
except Exception as e:
|
|
802
|
+
self.logger.error(f"❌ Failed to register memory hooks: {e}")
|
|
803
|
+
# Don't fail the entire initialization - memory system is optional
|
|
804
|
+
|
|
744
805
|
def _launch_subprocess_interactive(self, cmd: list, env: dict):
|
|
745
806
|
"""Launch Claude as a subprocess with PTY for interactive mode."""
|
|
746
807
|
import pty
|