claude-mpm 3.7.4__py3-none-any.whl → 3.8.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. claude_mpm/VERSION +1 -1
  2. claude_mpm/agents/BASE_PM.md +0 -106
  3. claude_mpm/agents/INSTRUCTIONS.md +0 -78
  4. claude_mpm/agents/MEMORY.md +88 -0
  5. claude_mpm/agents/WORKFLOW.md +86 -0
  6. claude_mpm/agents/schema/agent_schema.json +1 -1
  7. claude_mpm/agents/templates/code_analyzer.json +26 -11
  8. claude_mpm/agents/templates/data_engineer.json +4 -7
  9. claude_mpm/agents/templates/documentation.json +2 -2
  10. claude_mpm/agents/templates/engineer.json +2 -2
  11. claude_mpm/agents/templates/ops.json +3 -8
  12. claude_mpm/agents/templates/qa.json +2 -3
  13. claude_mpm/agents/templates/research.json +2 -3
  14. claude_mpm/agents/templates/security.json +3 -6
  15. claude_mpm/agents/templates/ticketing.json +4 -9
  16. claude_mpm/agents/templates/version_control.json +3 -3
  17. claude_mpm/agents/templates/web_qa.json +4 -4
  18. claude_mpm/agents/templates/web_ui.json +4 -4
  19. claude_mpm/cli/__init__.py +2 -2
  20. claude_mpm/cli/commands/__init__.py +2 -1
  21. claude_mpm/cli/commands/agents.py +118 -1
  22. claude_mpm/cli/commands/tickets.py +596 -19
  23. claude_mpm/cli/parser.py +228 -5
  24. claude_mpm/config/__init__.py +30 -39
  25. claude_mpm/config/socketio_config.py +8 -5
  26. claude_mpm/constants.py +13 -0
  27. claude_mpm/core/__init__.py +8 -18
  28. claude_mpm/core/cache.py +596 -0
  29. claude_mpm/core/claude_runner.py +166 -622
  30. claude_mpm/core/config.py +5 -1
  31. claude_mpm/core/constants.py +339 -0
  32. claude_mpm/core/container.py +461 -22
  33. claude_mpm/core/exceptions.py +392 -0
  34. claude_mpm/core/framework_loader.py +208 -93
  35. claude_mpm/core/interactive_session.py +432 -0
  36. claude_mpm/core/interfaces.py +424 -0
  37. claude_mpm/core/lazy.py +467 -0
  38. claude_mpm/core/logging_config.py +444 -0
  39. claude_mpm/core/oneshot_session.py +465 -0
  40. claude_mpm/core/optimized_agent_loader.py +485 -0
  41. claude_mpm/core/optimized_startup.py +490 -0
  42. claude_mpm/core/service_registry.py +52 -26
  43. claude_mpm/core/socketio_pool.py +162 -5
  44. claude_mpm/core/types.py +292 -0
  45. claude_mpm/core/typing_utils.py +477 -0
  46. claude_mpm/dashboard/static/js/components/file-tool-tracker.js +46 -2
  47. claude_mpm/dashboard/templates/index.html +5 -5
  48. claude_mpm/hooks/claude_hooks/hook_handler.py +213 -99
  49. claude_mpm/init.py +2 -1
  50. claude_mpm/services/__init__.py +78 -14
  51. claude_mpm/services/agent/__init__.py +24 -0
  52. claude_mpm/services/agent/deployment.py +2548 -0
  53. claude_mpm/services/agent/management.py +598 -0
  54. claude_mpm/services/agent/registry.py +813 -0
  55. claude_mpm/services/agents/deployment/agent_deployment.py +592 -269
  56. claude_mpm/services/agents/deployment/async_agent_deployment.py +5 -1
  57. claude_mpm/services/agents/management/agent_capabilities_generator.py +21 -11
  58. claude_mpm/services/agents/memory/agent_memory_manager.py +156 -1
  59. claude_mpm/services/async_session_logger.py +8 -3
  60. claude_mpm/services/communication/__init__.py +21 -0
  61. claude_mpm/services/communication/socketio.py +1933 -0
  62. claude_mpm/services/communication/websocket.py +479 -0
  63. claude_mpm/services/core/__init__.py +123 -0
  64. claude_mpm/services/core/base.py +247 -0
  65. claude_mpm/services/core/interfaces.py +951 -0
  66. claude_mpm/services/framework_claude_md_generator/section_generators/todo_task_tools.py +23 -23
  67. claude_mpm/services/framework_claude_md_generator.py +3 -2
  68. claude_mpm/services/health_monitor.py +4 -3
  69. claude_mpm/services/hook_service.py +64 -4
  70. claude_mpm/services/infrastructure/__init__.py +21 -0
  71. claude_mpm/services/infrastructure/logging.py +202 -0
  72. claude_mpm/services/infrastructure/monitoring.py +893 -0
  73. claude_mpm/services/memory/indexed_memory.py +648 -0
  74. claude_mpm/services/project/__init__.py +21 -0
  75. claude_mpm/services/project/analyzer.py +864 -0
  76. claude_mpm/services/project/registry.py +608 -0
  77. claude_mpm/services/project_analyzer.py +95 -2
  78. claude_mpm/services/recovery_manager.py +15 -9
  79. claude_mpm/services/socketio/__init__.py +25 -0
  80. claude_mpm/services/socketio/handlers/__init__.py +25 -0
  81. claude_mpm/services/socketio/handlers/base.py +121 -0
  82. claude_mpm/services/socketio/handlers/connection.py +198 -0
  83. claude_mpm/services/socketio/handlers/file.py +213 -0
  84. claude_mpm/services/socketio/handlers/git.py +723 -0
  85. claude_mpm/services/socketio/handlers/memory.py +27 -0
  86. claude_mpm/services/socketio/handlers/project.py +25 -0
  87. claude_mpm/services/socketio/handlers/registry.py +145 -0
  88. claude_mpm/services/socketio_client_manager.py +12 -7
  89. claude_mpm/services/socketio_server.py +156 -30
  90. claude_mpm/services/ticket_manager.py +377 -51
  91. claude_mpm/utils/agent_dependency_loader.py +66 -15
  92. claude_mpm/utils/error_handler.py +1 -1
  93. claude_mpm/utils/robust_installer.py +587 -0
  94. claude_mpm/validation/agent_validator.py +27 -14
  95. claude_mpm/validation/frontmatter_validator.py +231 -0
  96. {claude_mpm-3.7.4.dist-info → claude_mpm-3.8.1.dist-info}/METADATA +74 -41
  97. {claude_mpm-3.7.4.dist-info → claude_mpm-3.8.1.dist-info}/RECORD +101 -76
  98. claude_mpm/.claude-mpm/logs/hooks_20250728.log +0 -10
  99. claude_mpm/agents/agent-template.yaml +0 -83
  100. claude_mpm/cli/README.md +0 -108
  101. claude_mpm/cli_module/refactoring_guide.md +0 -253
  102. claude_mpm/config/async_logging_config.yaml +0 -145
  103. claude_mpm/core/.claude-mpm/logs/hooks_20250730.log +0 -34
  104. claude_mpm/dashboard/.claude-mpm/memories/README.md +0 -36
  105. claude_mpm/dashboard/README.md +0 -121
  106. claude_mpm/dashboard/static/js/dashboard.js.backup +0 -1973
  107. claude_mpm/dashboard/templates/.claude-mpm/memories/README.md +0 -36
  108. claude_mpm/dashboard/templates/.claude-mpm/memories/engineer_agent.md +0 -39
  109. claude_mpm/dashboard/templates/.claude-mpm/memories/version_control_agent.md +0 -38
  110. claude_mpm/hooks/README.md +0 -96
  111. claude_mpm/schemas/agent_schema.json +0 -435
  112. claude_mpm/services/framework_claude_md_generator/README.md +0 -92
  113. claude_mpm/services/version_control/VERSION +0 -1
  114. {claude_mpm-3.7.4.dist-info → claude_mpm-3.8.1.dist-info}/WHEEL +0 -0
  115. {claude_mpm-3.7.4.dist-info → claude_mpm-3.8.1.dist-info}/entry_points.txt +0 -0
  116. {claude_mpm-3.7.4.dist-info → claude_mpm-3.8.1.dist-info}/licenses/LICENSE +0 -0
  117. {claude_mpm-3.7.4.dist-info → claude_mpm-3.8.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,231 @@
1
+ """
2
+ Claude Code Frontmatter Validator
3
+
4
+ Validates agent frontmatter against Claude Code Desktop specification.
5
+ Critical for ensuring agents work correctly with Claude Desktop.
6
+ """
7
+
8
+ import re
9
+ from pathlib import Path
10
+ from typing import Dict, List, Optional, Tuple
11
+ import yaml
12
+
13
+
14
+ class FrontmatterValidator:
15
+ """Validates agent frontmatter against Claude Code specification."""
16
+
17
+ # Claude Code name pattern: lowercase letters, numbers, hyphens only
18
+ # NO UNDERSCORES, NO UPPERCASE, NO SPECIAL CHARACTERS
19
+ NAME_PATTERN = re.compile(r'^[a-z0-9]+(-[a-z0-9]+)*$')
20
+
21
+ # Valid tool names (from Claude Code spec)
22
+ VALID_TOOLS = {
23
+ 'Read', 'Write', 'Edit', 'MultiEdit', 'Bash', 'Grep', 'Glob', 'LS',
24
+ 'WebSearch', 'WebFetch', 'TodoWrite', 'BashOutput', 'KillBash',
25
+ 'NotebookEdit', 'Task', 'ExitPlanMode'
26
+ }
27
+
28
+ # Valid model tiers
29
+ VALID_MODELS = {'opus', 'sonnet', 'haiku'}
30
+
31
+ # Required fields in frontmatter
32
+ REQUIRED_FIELDS = {'name', 'description', 'tools'}
33
+
34
+ @classmethod
35
+ def validate_name(cls, name: str) -> Tuple[bool, Optional[str]]:
36
+ """
37
+ Validate agent name field against Claude Code spec.
38
+
39
+ Args:
40
+ name: Agent name to validate
41
+
42
+ Returns:
43
+ (is_valid, error_message)
44
+ """
45
+ if not name:
46
+ return False, "Name field is required"
47
+
48
+ if not cls.NAME_PATTERN.match(name):
49
+ return False, (
50
+ f"Invalid name '{name}'. Must match pattern ^[a-z0-9]+(-[a-z0-9]+)*$ "
51
+ "(lowercase letters, numbers, and hyphens only - NO underscores!)"
52
+ )
53
+
54
+ if len(name) > 50:
55
+ return False, f"Name '{name}' too long (max 50 characters)"
56
+
57
+ return True, None
58
+
59
+ @classmethod
60
+ def validate_tools(cls, tools: str) -> Tuple[bool, Optional[str]]:
61
+ """
62
+ Validate tools field format and content.
63
+
64
+ CRITICAL: Tools must be comma-separated WITHOUT spaces!
65
+
66
+ Args:
67
+ tools: Tools string to validate
68
+
69
+ Returns:
70
+ (is_valid, error_message)
71
+ """
72
+ if not tools:
73
+ return False, "Tools field is required"
74
+
75
+ # Check for spaces after commas (CRITICAL ERROR)
76
+ if ', ' in tools:
77
+ return False, (
78
+ f"CRITICAL: Tools contain spaces after commas! '{tools}' "
79
+ "Must be comma-separated WITHOUT spaces (e.g., 'Read,Write,Edit')"
80
+ )
81
+
82
+ # Validate individual tools
83
+ tool_list = tools.split(',')
84
+ invalid_tools = [t for t in tool_list if t not in cls.VALID_TOOLS]
85
+
86
+ if invalid_tools:
87
+ return False, f"Invalid tools: {', '.join(invalid_tools)}. Valid tools: {', '.join(sorted(cls.VALID_TOOLS))}"
88
+
89
+ return True, None
90
+
91
+ @classmethod
92
+ def validate_model(cls, model: str) -> Tuple[bool, Optional[str]]:
93
+ """
94
+ Validate model field.
95
+
96
+ Args:
97
+ model: Model tier to validate
98
+
99
+ Returns:
100
+ (is_valid, error_message)
101
+ """
102
+ if model and model not in cls.VALID_MODELS:
103
+ return False, f"Invalid model '{model}'. Must be one of: {', '.join(cls.VALID_MODELS)}"
104
+
105
+ return True, None
106
+
107
+ @classmethod
108
+ def validate_frontmatter(cls, frontmatter: Dict) -> List[str]:
109
+ """
110
+ Validate complete frontmatter structure.
111
+
112
+ Args:
113
+ frontmatter: Parsed frontmatter dictionary
114
+
115
+ Returns:
116
+ List of validation errors (empty if valid)
117
+ """
118
+ errors = []
119
+
120
+ # Check required fields
121
+ missing = cls.REQUIRED_FIELDS - set(frontmatter.keys())
122
+ if missing:
123
+ errors.append(f"Missing required fields: {', '.join(missing)}")
124
+
125
+ # Validate name
126
+ if 'name' in frontmatter:
127
+ valid, error = cls.validate_name(frontmatter['name'])
128
+ if not valid:
129
+ errors.append(error)
130
+
131
+ # Validate tools
132
+ if 'tools' in frontmatter:
133
+ valid, error = cls.validate_tools(frontmatter['tools'])
134
+ if not valid:
135
+ errors.append(error)
136
+
137
+ # Validate model
138
+ if 'model' in frontmatter:
139
+ valid, error = cls.validate_model(frontmatter['model'])
140
+ if not valid:
141
+ errors.append(error)
142
+
143
+ # Validate description
144
+ if 'description' in frontmatter:
145
+ desc = frontmatter['description']
146
+ if len(desc) < 10:
147
+ errors.append(f"Description too short ({len(desc)} chars, min 10)")
148
+ if len(desc) > 200:
149
+ errors.append(f"Description too long ({len(desc)} chars, max 200)")
150
+
151
+ return errors
152
+
153
+ @classmethod
154
+ def validate_agent_file(cls, file_path: Path) -> List[str]:
155
+ """
156
+ Validate an agent markdown file.
157
+
158
+ Args:
159
+ file_path: Path to agent .md file
160
+
161
+ Returns:
162
+ List of validation errors (empty if valid)
163
+ """
164
+ errors = []
165
+
166
+ try:
167
+ with open(file_path, 'r') as f:
168
+ content = f.read()
169
+
170
+ # Check for frontmatter markers
171
+ if not content.startswith('---\n'):
172
+ errors.append("File must start with '---' frontmatter marker")
173
+ return errors
174
+
175
+ # Extract frontmatter
176
+ end_marker = content.find('\n---\n', 4)
177
+ if end_marker == -1:
178
+ errors.append("Missing closing '---' frontmatter marker")
179
+ return errors
180
+
181
+ frontmatter_text = content[4:end_marker]
182
+
183
+ # Parse YAML
184
+ try:
185
+ frontmatter = yaml.safe_load(frontmatter_text)
186
+ except yaml.YAMLError as e:
187
+ errors.append(f"Invalid YAML in frontmatter: {e}")
188
+ return errors
189
+
190
+ # Validate frontmatter content
191
+ validation_errors = cls.validate_frontmatter(frontmatter)
192
+ errors.extend(validation_errors)
193
+
194
+ except Exception as e:
195
+ errors.append(f"Error reading file: {e}")
196
+
197
+ return errors
198
+
199
+
200
+ def main():
201
+ """Command-line validation tool."""
202
+ import sys
203
+
204
+ if len(sys.argv) < 2:
205
+ print("Usage: python frontmatter_validator.py <agent.md> [agent2.md ...]")
206
+ sys.exit(1)
207
+
208
+ all_valid = True
209
+
210
+ for file_path in sys.argv[1:]:
211
+ path = Path(file_path)
212
+ if not path.exists():
213
+ print(f"❌ {file_path}: File not found")
214
+ all_valid = False
215
+ continue
216
+
217
+ errors = FrontmatterValidator.validate_agent_file(path)
218
+
219
+ if errors:
220
+ print(f"❌ {file_path}:")
221
+ for error in errors:
222
+ print(f" - {error}")
223
+ all_valid = False
224
+ else:
225
+ print(f"✅ {file_path}: Valid")
226
+
227
+ sys.exit(0 if all_valid else 1)
228
+
229
+
230
+ if __name__ == "__main__":
231
+ main()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-mpm
3
- Version: 3.7.4
3
+ Version: 3.8.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
@@ -30,7 +30,6 @@ Requires-Dist: flask>=3.0.0
30
30
  Requires-Dist: flask-cors>=4.0.0
31
31
  Requires-Dist: watchdog>=3.0.0
32
32
  Requires-Dist: tree-sitter>=0.21.0
33
- Requires-Dist: tree-sitter-language-pack>=0.8.0
34
33
  Requires-Dist: python-socketio>=5.11.0
35
34
  Requires-Dist: aiohttp>=3.9.0
36
35
  Requires-Dist: aiohttp-cors>=0.8.0
@@ -47,53 +46,48 @@ Requires-Dist: flake8; extra == "dev"
47
46
  Requires-Dist: mypy; extra == "dev"
48
47
  Provides-Extra: monitor
49
48
  Provides-Extra: agents
50
- Requires-Dist: allure-pytest>=2.13.0; extra == "agents"
51
- Requires-Dist: ansible>=9.0.0; extra == "agents"
52
- Requires-Dist: apache-airflow>=2.8.0; extra == "agents"
53
49
  Requires-Dist: bandit>=1.7.5; extra == "agents"
54
50
  Requires-Dist: black>=23.0.0; extra == "agents"
55
- Requires-Dist: checkov>=3.1.0; extra == "agents"
56
51
  Requires-Dist: commitizen>=3.13.0; extra == "agents"
57
- Requires-Dist: cryptography>=41.0.0; extra == "agents"
58
52
  Requires-Dist: dask>=2023.12.0; extra == "agents"
59
53
  Requires-Dist: detect-secrets>=1.4.0; extra == "agents"
60
54
  Requires-Dist: diagrams>=0.23.0; extra == "agents"
61
- Requires-Dist: docker>=7.0.0; extra == "agents"
62
55
  Requires-Dist: docstring-parser>=0.15.0; extra == "agents"
63
56
  Requires-Dist: faker>=20.0.0; extra == "agents"
64
57
  Requires-Dist: gitlint>=0.19.0; extra == "agents"
65
58
  Requires-Dist: gitpython>=3.1.40; extra == "agents"
66
- Requires-Dist: great-expectations>=0.18.0; extra == "agents"
67
59
  Requires-Dist: hypothesis>=6.92.0; extra == "agents"
68
60
  Requires-Dist: isort>=5.12.0; extra == "agents"
69
- Requires-Dist: kubernetes>=28.0.0; extra == "agents"
70
61
  Requires-Dist: lizard>=1.17.0; extra == "agents"
71
62
  Requires-Dist: mermaid-py>=0.2.0; extra == "agents"
72
63
  Requires-Dist: mkdocs>=1.5.0; extra == "agents"
73
64
  Requires-Dist: mutmut>=2.4.0; extra == "agents"
74
65
  Requires-Dist: mypy>=1.8.0; extra == "agents"
75
66
  Requires-Dist: pandas>=2.1.0; extra == "agents"
76
- Requires-Dist: pip-audit>=2.6.0; extra == "agents"
77
67
  Requires-Dist: pre-commit>=3.5.0; extra == "agents"
78
68
  Requires-Dist: prometheus-client>=0.19.0; extra == "agents"
79
69
  Requires-Dist: pydoc-markdown>=4.8.0; extra == "agents"
80
70
  Requires-Dist: pydriller>=2.5.0; extra == "agents"
81
71
  Requires-Dist: pygments>=2.17.0; extra == "agents"
82
- Requires-Dist: pyjwt>=2.8.0; extra == "agents"
83
72
  Requires-Dist: pytest>=7.4.0; extra == "agents"
84
73
  Requires-Dist: pytest-benchmark>=4.0.0; extra == "agents"
85
74
  Requires-Dist: pytest-cov>=4.1.0; extra == "agents"
86
75
  Requires-Dist: radon>=6.0.0; extra == "agents"
87
76
  Requires-Dist: rope>=1.11.0; extra == "agents"
88
- Requires-Dist: safety>=3.0.0; extra == "agents"
89
- Requires-Dist: semgrep>=1.45.0; extra == "agents"
90
77
  Requires-Dist: sphinx>=7.2.0; extra == "agents"
91
78
  Requires-Dist: sqlalchemy>=2.0.0; extra == "agents"
92
79
  Requires-Dist: sqlparse>=0.4.4; extra == "agents"
93
- Requires-Dist: terraform-compliance>=1.3.0; extra == "agents"
94
80
  Requires-Dist: tree-sitter>=0.21.0; extra == "agents"
95
- Requires-Dist: tree-sitter-language-pack>=0.8.0; extra == "agents"
96
- Requires-Dist: ydata-profiling>=4.6.0; extra == "agents"
81
+ Requires-Dist: tree-sitter-python>=0.21.0; extra == "agents"
82
+ Requires-Dist: tree-sitter-javascript>=0.21.0; extra == "agents"
83
+ Requires-Dist: tree-sitter-typescript>=0.21.0; extra == "agents"
84
+ Requires-Dist: tree-sitter-go>=0.21.0; extra == "agents"
85
+ Requires-Dist: tree-sitter-rust>=0.21.0; extra == "agents"
86
+ Requires-Dist: tree-sitter-java>=0.21.0; extra == "agents"
87
+ Requires-Dist: tree-sitter-cpp>=0.21.0; extra == "agents"
88
+ Requires-Dist: tree-sitter-c>=0.21.0; extra == "agents"
89
+ Requires-Dist: tree-sitter-ruby>=0.21.0; extra == "agents"
90
+ Requires-Dist: tree-sitter-php>=0.21.0; extra == "agents"
97
91
  Dynamic: author-email
98
92
  Dynamic: home-page
99
93
  Dynamic: license-file
@@ -118,19 +112,21 @@ A powerful orchestration framework for Claude Code that enables multi-agent work
118
112
  ## Installation
119
113
 
120
114
  ```bash
121
- # Install from PyPI
115
+ # Basic installation - pure Python, no compilation required
122
116
  pip install claude-mpm
123
117
 
124
118
  # Install with development dependencies
125
119
  pip install "claude-mpm[dev]"
126
120
 
127
- # Install with agent dependencies (recommended for full functionality)
121
+ # Install with agent dependencies - pure Python tools
128
122
  pip install "claude-mpm[agents]"
129
123
 
130
124
  # Install with all optional dependencies
131
125
  pip install "claude-mpm[agents,dev]"
132
126
  ```
133
127
 
128
+ All dependencies are pure Python - no Rust or compilation required. The `agents` dependency group includes tools for testing, code analysis, documentation, and development workflows.
129
+
134
130
  ## Basic Usage
135
131
 
136
132
  ```bash
@@ -164,10 +160,10 @@ For detailed usage, see [QUICKSTART.md](QUICKSTART.md)
164
160
 
165
161
  ### Agent Dependencies
166
162
 
167
- Claude MPM automatically manages Python dependencies required by agents. Agents can declare their dependencies in their configuration files, and the system aggregates them for easy installation.
163
+ Claude MPM automatically manages Python dependencies required by agents. All dependencies are pure Python packages that don't require compilation. Agents can declare their dependencies in their configuration files, and the system aggregates them for easy installation.
168
164
 
169
165
  ```bash
170
- # Install all agent dependencies
166
+ # Install all agent dependencies (pure Python)
171
167
  pip install "claude-mpm[agents]"
172
168
 
173
169
  # View current agent dependencies
@@ -193,6 +189,26 @@ Dependencies are automatically aggregated from all agent sources (PROJECT > USER
193
189
 
194
190
  For comprehensive documentation, see [docs/AGENT_DEPENDENCIES.md](docs/AGENT_DEPENDENCIES.md).
195
191
 
192
+ ## Architecture
193
+
194
+ Claude MPM v3.7.8+ features a **modern service-oriented architecture** with:
195
+
196
+ ### Service Layer Organization
197
+ - **Core Services**: Foundation interfaces and dependency injection
198
+ - **Agent Services**: Agent lifecycle, deployment, and management
199
+ - **Communication Services**: Real-time WebSocket and SocketIO
200
+ - **Project Services**: Project analysis and workspace management
201
+ - **Infrastructure Services**: Logging, monitoring, and error handling
202
+
203
+ ### Key Architectural Features
204
+ - **Interface-Based Design**: All services implement well-defined contracts
205
+ - **Dependency Injection**: Loose coupling through service container
206
+ - **Lazy Loading**: Performance optimization with deferred initialization
207
+ - **Multi-Level Caching**: Intelligent caching with TTL and invalidation
208
+ - **Security Framework**: Input validation, path sanitization, and secure operations
209
+
210
+ For detailed architecture information, see [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md).
211
+
196
212
  ## Key Capabilities
197
213
 
198
214
  ### Multi-Agent Orchestration
@@ -250,31 +266,48 @@ See [docs/developer/11-dashboard/README.md](docs/developer/11-dashboard/README.m
250
266
 
251
267
  ## Documentation
252
268
 
269
+ ### User Documentation
253
270
  - **[Quick Start Guide](QUICKSTART.md)** - Get running in 5 minutes
254
271
  - **[Agent Memory System](docs/MEMORY.md)** - Comprehensive memory documentation
255
272
  - **[Monitoring Dashboard](docs/developer/11-dashboard/README.md)** - Real-time monitoring features
256
- - **[Project Structure](docs/STRUCTURE.md)** - Codebase organization
257
- - **[Deployment Guide](docs/DEPLOY.md)** - Publishing and versioning
258
273
  - **[User Guide](docs/user/)** - Detailed usage documentation
259
- - **[Developer Guide](docs/developer/)** - Architecture and API reference
260
-
261
- ## Recent Updates (v3.4.27)
262
-
263
- ### Core System Enhancements
264
- - **Project Structure Reorganization**: Centralized path management with ClaudeMPMPaths enum
265
- - **Agent Services Hierarchy**: Reorganized agent and memory services into hierarchical structures
266
- - **Response Logging Improvements**: Flat structure logging without session_ prefix
267
- - **Memory System Expansion**: Added data_engineer and test_integration agents with specialized keywords
268
- - **Path Management System**: Implemented centralized configuration path handling
269
274
 
270
- ### Project Cleanup & Organization
271
- - **Test File Migration**: Moved 66 test files from scripts/ to tests/ directory
272
- - **Documentation Archives**: Archived 35+ QA reports to docs/archive/
273
- - **Obsolete Directory Removal**: Cleaned up orchestration, docker, security, and terminal_wrapper directories
274
- - **Agent Registry Caching**: Enhanced performance with intelligent caching mechanisms
275
- - **Improved TodoWrite Integration**: Enhanced agent prefix guidelines across all agent templates
276
-
277
- See [CHANGELOG.md](CHANGELOG.md) for full history.
275
+ ### Developer Documentation
276
+ - **[Architecture Overview](docs/ARCHITECTURE.md)** - Service-oriented architecture and design
277
+ - **[Service Layer Guide](docs/developer/SERVICES.md)** - Service interfaces and implementations
278
+ - **[Performance Guide](docs/PERFORMANCE.md)** - Optimization and caching strategies
279
+ - **[Security Guide](docs/SECURITY.md)** - Security framework and best practices
280
+ - **[Testing Guide](docs/TESTING.md)** - Testing patterns and strategies
281
+ - **[Migration Guide](docs/MIGRATION.md)** - Upgrading from previous versions
282
+ - **[Project Structure](docs/STRUCTURE.md)** - Codebase organization
283
+ - **[Deployment Guide](docs/DEPLOY.md)** - Publishing and versioning
284
+ - **[Developer Guide](docs/developer/)** - API reference and internals
285
+
286
+ ## Recent Updates (v3.7.8)
287
+
288
+ ### TSK-0053: Service Layer Architecture Refactoring
289
+ - **Service-Oriented Architecture**: Complete redesign with five service domains
290
+ - **Interface-Based Contracts**: All services implement explicit interfaces
291
+ - **Dependency Injection System**: Service container with automatic dependency resolution
292
+ - **Performance Optimizations**: Lazy loading, multi-level caching, connection pooling
293
+ - **Security Framework**: Input validation, path traversal prevention, secure operations
294
+ - **Backward Compatibility**: Lazy imports maintain existing import paths
295
+
296
+ ### Key Improvements
297
+ - **50-80% Performance Improvement**: Optimized caching and lazy loading
298
+ - **Enhanced Security**: Comprehensive input validation and sanitization
299
+ - **Better Testability**: Interface-based architecture enables easy mocking
300
+ - **Improved Maintainability**: Clear separation of concerns and service boundaries
301
+ - **Developer Experience**: Rich documentation and migration guides
302
+
303
+ ### Architecture Benefits
304
+ - **Scalability**: Service-oriented design supports future growth
305
+ - **Extensibility**: Plugin architecture through interfaces and hooks
306
+ - **Reliability**: Comprehensive testing with 85%+ coverage
307
+ - **Security**: Defense-in-depth security architecture
308
+ - **Performance**: Intelligent caching and resource optimization
309
+
310
+ See [CHANGELOG.md](CHANGELOG.md) for full history and [docs/MIGRATION.md](docs/MIGRATION.md) for upgrade instructions.
278
311
 
279
312
  ## Development
280
313