claude-mpm 0.3.0__py3-none-any.whl → 1.0.0__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.
- claude_mpm/agents/INSTRUCTIONS.md +23 -0
 - claude_mpm/core/agent_name_normalizer.py +49 -0
 - claude_mpm/core/simple_runner.py +7 -0
 - claude_mpm/hooks/builtin/todo_agent_prefix_hook.py +8 -7
 - claude_mpm/services/framework_claude_md_generator/section_generators/todo_task_tools.py +57 -31
 - {claude_mpm-0.3.0.dist-info → claude_mpm-1.0.0.dist-info}/METADATA +1 -1
 - {claude_mpm-0.3.0.dist-info → claude_mpm-1.0.0.dist-info}/RECORD +10 -10
 - {claude_mpm-0.3.0.dist-info → claude_mpm-1.0.0.dist-info}/WHEEL +0 -0
 - {claude_mpm-0.3.0.dist-info → claude_mpm-1.0.0.dist-info}/entry_points.txt +0 -0
 - {claude_mpm-0.3.0.dist-info → claude_mpm-1.0.0.dist-info}/top_level.txt +0 -0
 
| 
         @@ -156,6 +156,29 @@ Context: 
     | 
|
| 
       156 
156 
     | 
    
         
             
            4. **Workload Balancing**: Distribute tasks across agents when possible
         
     | 
| 
       157 
157 
     | 
    
         
             
            5. **Specialization Depth**: Prefer specialist over generalist for complex tasks
         
     | 
| 
       158 
158 
     | 
    
         | 
| 
      
 159 
     | 
    
         
            +
            ### Task Tool Agent Name Format
         
     | 
| 
      
 160 
     | 
    
         
            +
            The Task tool accepts agent names in **both** formats for flexibility:
         
     | 
| 
      
 161 
     | 
    
         
            +
             
     | 
| 
      
 162 
     | 
    
         
            +
            **TodoWrite Format (Capitalized)** → **Task Tool Format (lowercase-hyphenated)**
         
     | 
| 
      
 163 
     | 
    
         
            +
            - `"Research"` → `"research"`
         
     | 
| 
      
 164 
     | 
    
         
            +
            - `"Engineer"` → `"engineer"`
         
     | 
| 
      
 165 
     | 
    
         
            +
            - `"QA"` → `"qa"`
         
     | 
| 
      
 166 
     | 
    
         
            +
            - `"Documentation"` → `"documentation"`
         
     | 
| 
      
 167 
     | 
    
         
            +
            - `"Security"` → `"security"`
         
     | 
| 
      
 168 
     | 
    
         
            +
            - `"Ops"` → `"ops"`
         
     | 
| 
      
 169 
     | 
    
         
            +
            - `"Version Control"` → `"version-control"`
         
     | 
| 
      
 170 
     | 
    
         
            +
            - `"Data Engineer"` → `"data-engineer"`
         
     | 
| 
      
 171 
     | 
    
         
            +
             
     | 
| 
      
 172 
     | 
    
         
            +
            **Both formats are valid** in the Task tool:
         
     | 
| 
      
 173 
     | 
    
         
            +
            - ✅ `Task(description="Analyze patterns", subagent_type="Research")` 
         
     | 
| 
      
 174 
     | 
    
         
            +
            - ✅ `Task(description="Analyze patterns", subagent_type="research")`
         
     | 
| 
      
 175 
     | 
    
         
            +
            - ✅ `Task(description="Update docs", subagent_type="Documentation")`
         
     | 
| 
      
 176 
     | 
    
         
            +
            - ✅ `Task(description="Update docs", subagent_type="documentation")`
         
     | 
| 
      
 177 
     | 
    
         
            +
            - ✅ `Task(description="Git operations", subagent_type="Version Control")`
         
     | 
| 
      
 178 
     | 
    
         
            +
            - ✅ `Task(description="Git operations", subagent_type="version-control")`
         
     | 
| 
      
 179 
     | 
    
         
            +
             
     | 
| 
      
 180 
     | 
    
         
            +
            **Agent Name Normalization**: When you receive a Task tool call with capitalized format (matching TodoWrite prefixes), automatically normalize it to the lowercase-hyphenated format internally for delegation.
         
     | 
| 
      
 181 
     | 
    
         
            +
             
     | 
| 
       159 
182 
     | 
    
         
             
            ## Advanced Verification & Error Handling
         
     | 
| 
       160 
183 
     | 
    
         | 
| 
       161 
184 
     | 
    
         
             
            ### Output Quality Gates
         
     | 
| 
         @@ -242,6 +242,55 @@ class AgentNameNormalizer: 
     | 
|
| 
       242 
242 
     | 
    
         
             
                        return False, f"Unknown agent '{agent}'. Valid agents: {', '.join(cls.CANONICAL_NAMES.values())}"
         
     | 
| 
       243 
243 
     | 
    
         | 
| 
       244 
244 
     | 
    
         
             
                    return True, None
         
     | 
| 
      
 245 
     | 
    
         
            +
                
         
     | 
| 
      
 246 
     | 
    
         
            +
                @classmethod
         
     | 
| 
      
 247 
     | 
    
         
            +
                def to_task_format(cls, agent_name: str) -> str:
         
     | 
| 
      
 248 
     | 
    
         
            +
                    """
         
     | 
| 
      
 249 
     | 
    
         
            +
                    Convert agent name from TodoWrite format to Task tool format.
         
     | 
| 
      
 250 
     | 
    
         
            +
                    
         
     | 
| 
      
 251 
     | 
    
         
            +
                    Args:
         
     | 
| 
      
 252 
     | 
    
         
            +
                        agent_name: The agent name in TodoWrite format (e.g., "Research", "Version Control")
         
     | 
| 
      
 253 
     | 
    
         
            +
                        
         
     | 
| 
      
 254 
     | 
    
         
            +
                    Returns:
         
     | 
| 
      
 255 
     | 
    
         
            +
                        The agent name in Task tool format (e.g., "research", "version-control")
         
     | 
| 
      
 256 
     | 
    
         
            +
                        
         
     | 
| 
      
 257 
     | 
    
         
            +
                    Examples:
         
     | 
| 
      
 258 
     | 
    
         
            +
                        "Research" → "research"
         
     | 
| 
      
 259 
     | 
    
         
            +
                        "Version Control" → "version-control" 
         
     | 
| 
      
 260 
     | 
    
         
            +
                        "Data Engineer" → "data-engineer"
         
     | 
| 
      
 261 
     | 
    
         
            +
                        "QA" → "qa"
         
     | 
| 
      
 262 
     | 
    
         
            +
                    """
         
     | 
| 
      
 263 
     | 
    
         
            +
                    # First normalize to canonical form
         
     | 
| 
      
 264 
     | 
    
         
            +
                    normalized = cls.normalize(agent_name)
         
     | 
| 
      
 265 
     | 
    
         
            +
                    # Convert to lowercase and replace spaces with hyphens
         
     | 
| 
      
 266 
     | 
    
         
            +
                    return normalized.lower().replace(" ", "-")
         
     | 
| 
      
 267 
     | 
    
         
            +
                
         
     | 
| 
      
 268 
     | 
    
         
            +
                @classmethod
         
     | 
| 
      
 269 
     | 
    
         
            +
                def from_task_format(cls, task_format: str) -> str:
         
     | 
| 
      
 270 
     | 
    
         
            +
                    """
         
     | 
| 
      
 271 
     | 
    
         
            +
                    Convert agent name from Task tool format to TodoWrite format.
         
     | 
| 
      
 272 
     | 
    
         
            +
                    
         
     | 
| 
      
 273 
     | 
    
         
            +
                    Args:
         
     | 
| 
      
 274 
     | 
    
         
            +
                        task_format: The agent name in Task tool format (e.g., "research", "version-control")
         
     | 
| 
      
 275 
     | 
    
         
            +
                        
         
     | 
| 
      
 276 
     | 
    
         
            +
                    Returns:
         
     | 
| 
      
 277 
     | 
    
         
            +
                        The agent name in TodoWrite format (e.g., "Research", "Version Control")
         
     | 
| 
      
 278 
     | 
    
         
            +
                        
         
     | 
| 
      
 279 
     | 
    
         
            +
                    Examples:
         
     | 
| 
      
 280 
     | 
    
         
            +
                        "research" → "Research"
         
     | 
| 
      
 281 
     | 
    
         
            +
                        "version-control" → "Version Control"
         
     | 
| 
      
 282 
     | 
    
         
            +
                        "data-engineer" → "Data Engineer"
         
     | 
| 
      
 283 
     | 
    
         
            +
                        "qa" → "QA"
         
     | 
| 
      
 284 
     | 
    
         
            +
                    """
         
     | 
| 
      
 285 
     | 
    
         
            +
                    # Replace hyphens with underscores for lookup
         
     | 
| 
      
 286 
     | 
    
         
            +
                    lookup_key = task_format.replace("-", "_")
         
     | 
| 
      
 287 
     | 
    
         
            +
                    
         
     | 
| 
      
 288 
     | 
    
         
            +
                    # Check if it's a valid canonical key
         
     | 
| 
      
 289 
     | 
    
         
            +
                    if lookup_key in cls.CANONICAL_NAMES:
         
     | 
| 
      
 290 
     | 
    
         
            +
                        return cls.CANONICAL_NAMES[lookup_key]
         
     | 
| 
      
 291 
     | 
    
         
            +
                    
         
     | 
| 
      
 292 
     | 
    
         
            +
                    # Try normalizing as-is
         
     | 
| 
      
 293 
     | 
    
         
            +
                    return cls.normalize(task_format)
         
     | 
| 
       245 
294 
     | 
    
         | 
| 
       246 
295 
     | 
    
         | 
| 
       247 
296 
     | 
    
         
             
            # Global instance for easy access
         
     | 
    
        claude_mpm/core/simple_runner.py
    CHANGED
    
    | 
         @@ -491,6 +491,13 @@ You have access to native subagents via the Task tool with subagent_type paramet 
     | 
|
| 
       491 
491 
     | 
    
         | 
| 
       492 
492 
     | 
    
         
             
            Use these agents by calling: Task(description="task description", subagent_type="agent_name")
         
     | 
| 
       493 
493 
     | 
    
         | 
| 
      
 494 
     | 
    
         
            +
            IMPORTANT: The Task tool accepts both naming formats:
         
     | 
| 
      
 495 
     | 
    
         
            +
            - Capitalized format: "Research", "Engineer", "QA", "Version Control", "Data Engineer"
         
     | 
| 
      
 496 
     | 
    
         
            +
            - Lowercase format: "research", "engineer", "qa", "version-control", "data-engineer"
         
     | 
| 
      
 497 
     | 
    
         
            +
             
     | 
| 
      
 498 
     | 
    
         
            +
            Both formats work correctly. When you see capitalized names (matching TodoWrite prefixes), 
         
     | 
| 
      
 499 
     | 
    
         
            +
            automatically normalize them to lowercase-hyphenated format for the Task tool.
         
     | 
| 
      
 500 
     | 
    
         
            +
             
     | 
| 
       494 
501 
     | 
    
         
             
            Work efficiently and delegate appropriately to subagents when needed."""
         
     | 
| 
       495 
502 
     | 
    
         | 
| 
       496 
503 
     | 
    
         | 
| 
         @@ -141,10 +141,11 @@ class TodoAgentPrefixHook(BaseHook): 
     | 
|
| 
       141 
141 
     | 
    
         | 
| 
       142 
142 
     | 
    
         
             
                def _has_agent_prefix(self, content: str) -> bool:
         
     | 
| 
       143 
143 
     | 
    
         
             
                    """Check if content already has an agent prefix."""
         
     | 
| 
      
 144 
     | 
    
         
            +
                    import re
         
     | 
| 
       144 
145 
     | 
    
         
             
                    content = content.strip()
         
     | 
| 
       145 
     | 
    
         
            -
                    #  
     | 
| 
       146 
     | 
    
         
            -
                     
     | 
| 
       147 
     | 
    
         
            -
                    return  
     | 
| 
      
 146 
     | 
    
         
            +
                    # Only check for [Agent] prefix at the beginning, not agent mentions in content
         
     | 
| 
      
 147 
     | 
    
         
            +
                    match = re.match(r'^\[([^\]]+)\]', content)
         
     | 
| 
      
 148 
     | 
    
         
            +
                    return match is not None
         
     | 
| 
       148 
149 
     | 
    
         | 
| 
       149 
150 
     | 
    
         
             
                def _suggest_agent(self, content: str) -> Optional[str]:
         
     | 
| 
       150 
151 
     | 
    
         
             
                    """Suggest an appropriate agent based on content analysis."""
         
     | 
| 
         @@ -158,13 +159,13 @@ class TodoAgentPrefixHook(BaseHook): 
     | 
|
| 
       158 
159 
     | 
    
         | 
| 
       159 
160 
     | 
    
         
             
                    # Default suggestions based on common keywords
         
     | 
| 
       160 
161 
     | 
    
         
             
                    if any(word in content_lower for word in ['code', 'implement', 'fix', 'bug']):
         
     | 
| 
       161 
     | 
    
         
            -
                        return 'engineer'
         
     | 
| 
      
 162 
     | 
    
         
            +
                        return agent_name_normalizer.normalize('engineer')
         
     | 
| 
       162 
163 
     | 
    
         
             
                    elif any(word in content_lower for word in ['test', 'validate', 'check']):
         
     | 
| 
       163 
     | 
    
         
            -
                        return 'qa'
         
     | 
| 
      
 164 
     | 
    
         
            +
                        return agent_name_normalizer.normalize('qa')
         
     | 
| 
       164 
165 
     | 
    
         
             
                    elif any(word in content_lower for word in ['doc', 'readme', 'guide']):
         
     | 
| 
       165 
     | 
    
         
            -
                        return 'documentation'
         
     | 
| 
      
 166 
     | 
    
         
            +
                        return agent_name_normalizer.normalize('documentation')
         
     | 
| 
       166 
167 
     | 
    
         
             
                    elif any(word in content_lower for word in ['research', 'investigate']):
         
     | 
| 
       167 
     | 
    
         
            -
                        return 'research'
         
     | 
| 
      
 168 
     | 
    
         
            +
                        return agent_name_normalizer.normalize('research')
         
     | 
| 
       168 
169 
     | 
    
         | 
| 
       169 
170 
     | 
    
         
             
                    return None
         
     | 
| 
       170 
171 
     | 
    
         | 
| 
         @@ -25,31 +25,56 @@ class TodoTaskToolsGenerator(BaseSectionGenerator): 
     | 
|
| 
       25 
25 
     | 
    
         
             
            ### Agent Name Prefix System
         
     | 
| 
       26 
26 
     | 
    
         | 
| 
       27 
27 
     | 
    
         
             
            **Standard TodoWrite Entry Format:**
         
     | 
| 
       28 
     | 
    
         
            -
            - **Research tasks** → ` 
     | 
| 
       29 
     | 
    
         
            -
            - **Documentation tasks** → ` 
     | 
| 
       30 
     | 
    
         
            -
            - **Changelog tasks** → ` 
     | 
| 
       31 
     | 
    
         
            -
            - **QA tasks** → `QA 
     | 
| 
       32 
     | 
    
         
            -
            - **DevOps tasks** → `Ops 
     | 
| 
       33 
     | 
    
         
            -
            - **Security tasks** → `Security 
     | 
| 
       34 
     | 
    
         
            -
            - **Version Control tasks** → ` 
     | 
| 
       35 
     | 
    
         
            -
            - **Version Management tasks** → ` 
     | 
| 
       36 
     | 
    
         
            -
            - **Code Implementation tasks** → `Engineer 
     | 
| 
       37 
     | 
    
         
            -
            - **Data Operations tasks** → `Data Engineer 
     | 
| 
      
 28 
     | 
    
         
            +
            - **Research tasks** → `[Research] Analyze patterns and investigate implementation`
         
     | 
| 
      
 29 
     | 
    
         
            +
            - **Documentation tasks** → `[Documentation] Update API reference and user guide`
         
     | 
| 
      
 30 
     | 
    
         
            +
            - **Changelog tasks** → `[Documentation] Generate changelog for version 2.0`
         
     | 
| 
      
 31 
     | 
    
         
            +
            - **QA tasks** → `[QA] Execute test suite and validate functionality`
         
     | 
| 
      
 32 
     | 
    
         
            +
            - **DevOps tasks** → `[Ops] Configure deployment pipeline`
         
     | 
| 
      
 33 
     | 
    
         
            +
            - **Security tasks** → `[Security] Perform vulnerability assessment`
         
     | 
| 
      
 34 
     | 
    
         
            +
            - **Version Control tasks** → `[Version Control] Create feature branch and manage tags`
         
     | 
| 
      
 35 
     | 
    
         
            +
            - **Version Management tasks** → `[Version Control] Apply semantic version bump`
         
     | 
| 
      
 36 
     | 
    
         
            +
            - **Code Implementation tasks** → `[Engineer] Implement authentication system`
         
     | 
| 
      
 37 
     | 
    
         
            +
            - **Data Operations tasks** → `[Data Engineer] Optimize database queries`
         
     | 
| 
       38 
38 
     | 
    
         | 
| 
       39 
39 
     | 
    
         
             
            ### Task Tool Subprocess Naming Conventions
         
     | 
| 
       40 
40 
     | 
    
         | 
| 
       41 
     | 
    
         
            -
            ** 
     | 
| 
      
 41 
     | 
    
         
            +
            **Task Tool Usage Pattern:**
         
     | 
| 
       42 
42 
     | 
    
         
             
            ```
         
     | 
| 
       43 
     | 
    
         
            -
             
     | 
| 
      
 43 
     | 
    
         
            +
            Task(description="[task description]", subagent_type="[agent-type]")
         
     | 
| 
       44 
44 
     | 
    
         
             
            ```
         
     | 
| 
       45 
45 
     | 
    
         | 
| 
       46 
     | 
    
         
            -
            ** 
     | 
| 
       47 
     | 
    
         
            -
             
     | 
| 
       48 
     | 
    
         
            -
            -  
     | 
| 
       49 
     | 
    
         
            -
            -  
     | 
| 
       50 
     | 
    
         
            -
            -  
     | 
| 
       51 
     | 
    
         
            -
            -  
     | 
| 
       52 
     | 
    
         
            -
            -  
     | 
| 
      
 46 
     | 
    
         
            +
            **Valid subagent_type values (both formats accepted):**
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
            **Lowercase-hyphenated format (traditional):**
         
     | 
| 
      
 49 
     | 
    
         
            +
            - `subagent_type="research"` - For investigation and analysis
         
     | 
| 
      
 50 
     | 
    
         
            +
            - `subagent_type="engineer"` - For coding and implementation
         
     | 
| 
      
 51 
     | 
    
         
            +
            - `subagent_type="qa"` - For testing and quality assurance
         
     | 
| 
      
 52 
     | 
    
         
            +
            - `subagent_type="documentation"` - For docs and guides
         
     | 
| 
      
 53 
     | 
    
         
            +
            - `subagent_type="security"` - For security assessments
         
     | 
| 
      
 54 
     | 
    
         
            +
            - `subagent_type="ops"` - For deployment and infrastructure
         
     | 
| 
      
 55 
     | 
    
         
            +
            - `subagent_type="version-control"` - For git and version management
         
     | 
| 
      
 56 
     | 
    
         
            +
            - `subagent_type="data-engineer"` - For data processing and APIs
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
            **Capitalized format (matching TodoWrite prefixes - also accepted):**
         
     | 
| 
      
 59 
     | 
    
         
            +
            - `subagent_type="Research"` - For investigation and analysis
         
     | 
| 
      
 60 
     | 
    
         
            +
            - `subagent_type="Engineer"` - For coding and implementation
         
     | 
| 
      
 61 
     | 
    
         
            +
            - `subagent_type="QA"` - For testing and quality assurance
         
     | 
| 
      
 62 
     | 
    
         
            +
            - `subagent_type="Documentation"` - For docs and guides
         
     | 
| 
      
 63 
     | 
    
         
            +
            - `subagent_type="Security"` - For security assessments
         
     | 
| 
      
 64 
     | 
    
         
            +
            - `subagent_type="Ops"` - For deployment and infrastructure
         
     | 
| 
      
 65 
     | 
    
         
            +
            - `subagent_type="Version Control"` - For git and version management
         
     | 
| 
      
 66 
     | 
    
         
            +
            - `subagent_type="Data Engineer"` - For data processing and APIs
         
     | 
| 
      
 67 
     | 
    
         
            +
             
     | 
| 
      
 68 
     | 
    
         
            +
            **Examples of Proper Task Tool Usage (both formats work):**
         
     | 
| 
      
 69 
     | 
    
         
            +
            - ✅ `Task(description="Update framework documentation", subagent_type="documentation")`
         
     | 
| 
      
 70 
     | 
    
         
            +
            - ✅ `Task(description="Execute test suite validation", subagent_type="qa")`
         
     | 
| 
      
 71 
     | 
    
         
            +
            - ✅ `Task(description="Create feature branch and sync", subagent_type="version-control")`
         
     | 
| 
      
 72 
     | 
    
         
            +
            - ✅ `Task(description="Investigate performance patterns", subagent_type="research")`
         
     | 
| 
      
 73 
     | 
    
         
            +
            - ✅ `Task(description="Implement authentication system", subagent_type="engineer")`
         
     | 
| 
      
 74 
     | 
    
         
            +
            - ✅ `Task(description="Configure database and optimize queries", subagent_type="data-engineer")`
         
     | 
| 
      
 75 
     | 
    
         
            +
            - ✅ `Task(description="Analyze code patterns", subagent_type="Research")` (capitalized format)
         
     | 
| 
      
 76 
     | 
    
         
            +
            - ✅ `Task(description="Update API docs", subagent_type="Documentation")` (capitalized format)
         
     | 
| 
      
 77 
     | 
    
         
            +
            - ✅ `Task(description="Create release tags", subagent_type="Version Control")` (capitalized format)
         
     | 
| 
       53 
78 
     | 
    
         | 
| 
       54 
79 
     | 
    
         
             
            ### 🚨 MANDATORY: THREE SHORTCUT COMMANDS
         
     | 
| 
       55 
80 
     | 
    
         | 
| 
         @@ -72,18 +97,19 @@ class TodoTaskToolsGenerator(BaseSectionGenerator): 
     | 
|
| 
       72 
97 
     | 
    
         | 
| 
       73 
98 
     | 
    
         
             
            **Example Integration:**
         
     | 
| 
       74 
99 
     | 
    
         
             
            ```
         
     | 
| 
       75 
     | 
    
         
            -
            TodoWrite 
     | 
| 
       76 
     | 
    
         
            -
            - ☐ Documentation  
     | 
| 
       77 
     | 
    
         
            -
            - ☐ QA  
     | 
| 
       78 
     | 
    
         
            -
            - ☐ Data Engineer  
     | 
| 
       79 
     | 
    
         
            -
            - ☐ Version Control  
     | 
| 
       80 
     | 
    
         
            -
             
     | 
| 
       81 
     | 
    
         
            -
            Task Tool  
     | 
| 
       82 
     | 
    
         
            -
            Task  
     | 
| 
       83 
     | 
    
         
            -
            Task  
     | 
| 
       84 
     | 
    
         
            -
            Task  
     | 
| 
       85 
     | 
    
         
            -
             
     | 
| 
       86 
     | 
    
         
            -
             
     | 
| 
      
 100 
     | 
    
         
            +
            # TodoWrite entries with proper agent prefixes:
         
     | 
| 
      
 101 
     | 
    
         
            +
            - ☐ [Documentation] Generate changelog and analyze version impact
         
     | 
| 
      
 102 
     | 
    
         
            +
            - ☐ [QA] Execute full test suite and quality validation
         
     | 
| 
      
 103 
     | 
    
         
            +
            - ☐ [Data Engineer] Validate data integrity and verify API connectivity
         
     | 
| 
      
 104 
     | 
    
         
            +
            - ☐ [Version Control] Apply semantic version bump and create release tags
         
     | 
| 
      
 105 
     | 
    
         
            +
             
     | 
| 
      
 106 
     | 
    
         
            +
            # Corresponding Task Tool delegations:
         
     | 
| 
      
 107 
     | 
    
         
            +
            Task(description="Generate changelog and analyze version impact", subagent_type="documentation")
         
     | 
| 
      
 108 
     | 
    
         
            +
            Task(description="Execute full test suite and quality validation", subagent_type="qa")
         
     | 
| 
      
 109 
     | 
    
         
            +
            Task(description="Validate data integrity and verify API connectivity", subagent_type="data-engineer")
         
     | 
| 
      
 110 
     | 
    
         
            +
            Task(description="Apply semantic version bump and create release tags", subagent_type="version-control")
         
     | 
| 
      
 111 
     | 
    
         
            +
             
     | 
| 
      
 112 
     | 
    
         
            +
            # Update TodoWrite status based on agent completions
         
     | 
| 
       87 
113 
     | 
    
         
             
            ```
         
     | 
| 
       88 
114 
     | 
    
         | 
| 
       89 
115 
     | 
    
         
             
            ---"""
         
     | 
| 
         @@ -6,7 +6,7 @@ claude_mpm/cli_main.py,sha256=KCAe-ws73NrIg5qmFhPdZ1a4uoiaEZ-lldYzQ6KfnJg,306 
     | 
|
| 
       6 
6 
     | 
    
         
             
            claude_mpm/constants.py,sha256=5AG5hgBxOC7gMNHDx0lAhS-FQ8gXhtGtqJ9Moj3S6ro,4044
         
     | 
| 
       7 
7 
     | 
    
         
             
            claude_mpm/init.py,sha256=gOreOf7BLXkT0_HrQk_As4Kz1OT_NJG_RG0i0hbY0z0,8088
         
     | 
| 
       8 
8 
     | 
    
         
             
            claude_mpm/agents/BASE_AGENT_TEMPLATE.md,sha256=TYgSd9jNBMWp4mAOBUl9dconX4RcGbvmMEScRy5uyko,3343
         
     | 
| 
       9 
     | 
    
         
            -
            claude_mpm/agents/INSTRUCTIONS.md,sha256= 
     | 
| 
      
 9 
     | 
    
         
            +
            claude_mpm/agents/INSTRUCTIONS.md,sha256=FuLq0cBjUjqByA9rdi1H_3SCt8xSjsTWM_VvnIQz2fg,16578
         
     | 
| 
       10 
10 
     | 
    
         
             
            claude_mpm/agents/__init__.py,sha256=DxJswRx5DpgJVZEY5JlZm5VJNb_CakV5Ch231r7nWlo,3292
         
     | 
| 
       11 
11 
     | 
    
         
             
            claude_mpm/agents/agent_loader.py,sha256=RAAoIxM9DONMMIqyEhaU0nEiaZKYkEZpMP6humOBmU0,23669
         
     | 
| 
       12 
12 
     | 
    
         
             
            claude_mpm/agents/agent_loader_integration.py,sha256=z_DXxAIeuUD71HBYdxxvcFKoQYQxITLo8oAdN_M4LTA,7610
         
     | 
| 
         @@ -36,7 +36,7 @@ claude_mpm/cli_old/ticket_cli.py,sha256=oKIT2LR1tToHybwypRfsNdnYlwdRzjWyjlQN5lYw 
     | 
|
| 
       36 
36 
     | 
    
         
             
            claude_mpm/config/__init__.py,sha256=p31JuaXLDHgIgoAbHApNvctN2IEZYq2MBkkXROdhbH8,105
         
     | 
| 
       37 
37 
     | 
    
         
             
            claude_mpm/config/hook_config.py,sha256=ehVAVHhn6ZBxrdWXqXB2M8jcAmqaWCnE9gVxuxR2UEs,1334
         
     | 
| 
       38 
38 
     | 
    
         
             
            claude_mpm/core/__init__.py,sha256=hE29BeE3qb8vC1-wiKjPh60WZebCwfo9UAUGM1zQnkc,1206
         
     | 
| 
       39 
     | 
    
         
            -
            claude_mpm/core/agent_name_normalizer.py,sha256 
     | 
| 
      
 39 
     | 
    
         
            +
            claude_mpm/core/agent_name_normalizer.py,sha256=-X68oz3_74t9BRbHA54NEGyjy0xjTsGp_sCUHDtKp1s,9269
         
     | 
| 
       40 
40 
     | 
    
         
             
            claude_mpm/core/agent_registry.py,sha256=4MAfc7xDlrYWWkHmDMRmWE8q32teuCmIcud9D0I0dLo,20496
         
     | 
| 
       41 
41 
     | 
    
         
             
            claude_mpm/core/agent_registry.py.bak,sha256=cXB0yqhonE1XsXmWcdwyNuvv8yddK_PyZILDCmwCZ_Q,10161
         
     | 
| 
       42 
42 
     | 
    
         
             
            claude_mpm/core/agent_session_manager.py,sha256=6alXQr4gnMR-unT4J1ryEtTxJqQolA0-NgPQN6X3lqY,11212
         
     | 
| 
         @@ -54,7 +54,7 @@ claude_mpm/core/minimal_framework_loader.py,sha256=liYS4IyuW_aFK7yhRDZwTwT-3q09f 
     | 
|
| 
       54 
54 
     | 
    
         
             
            claude_mpm/core/mixins.py,sha256=rTEH-7FDpNiLB8oo6mSb0CLarJklv4fDJw1xM-gr5wI,5599
         
     | 
| 
       55 
55 
     | 
    
         
             
            claude_mpm/core/service_registry.py,sha256=rRJDidqVU3DmGRuEWcb3-hhK2gxVe7MCFDPNOh7XlbY,10790
         
     | 
| 
       56 
56 
     | 
    
         
             
            claude_mpm/core/session_manager.py,sha256=3rO4KGZp8Qd_cUw6OWv4jyxGCUaL_MNPgCCpnwQt12A,6581
         
     | 
| 
       57 
     | 
    
         
            -
            claude_mpm/core/simple_runner.py,sha256= 
     | 
| 
      
 57 
     | 
    
         
            +
            claude_mpm/core/simple_runner.py,sha256=cEaA5fzU8itTIcEF6Zy84S5ZBgKkkAd7IqPEC0YiP64,20914
         
     | 
| 
       58 
58 
     | 
    
         
             
            claude_mpm/core/tool_access_control.py,sha256=htZbDhC8s7D7BVqfmk0BwRrYJnlnUAk8_NeJKOaeNlg,6632
         
     | 
| 
       59 
59 
     | 
    
         
             
            claude_mpm/hooks/README.md,sha256=lsvGzw9g8Lf0VfRcqoGNGpAZEQSmpE0C8DksZ4nvDso,8030
         
     | 
| 
       60 
60 
     | 
    
         
             
            claude_mpm/hooks/__init__.py,sha256=Y3JJ_mEtvRP07r_gXkju4c0s18bjIXGH1uAbhSw1ES0,166
         
     | 
| 
         @@ -70,7 +70,7 @@ claude_mpm/hooks/builtin/post_delegation_hook_example.py,sha256=54OJKRgjdXH8A2LH 
     | 
|
| 
       70 
70 
     | 
    
         
             
            claude_mpm/hooks/builtin/pre_delegation_hook_example.py,sha256=JOAdDm46be_ol7uSmnQaE0jQS8SsiuGei80Auj3sdL8,4692
         
     | 
| 
       71 
71 
     | 
    
         
             
            claude_mpm/hooks/builtin/submit_hook_example.py,sha256=x7-yIF_QYe9uwCezeVDA_HdDTLu6uQfbTgZ12pdC4xo,3431
         
     | 
| 
       72 
72 
     | 
    
         
             
            claude_mpm/hooks/builtin/ticket_extraction_hook_example.py,sha256=4wNhS2tFUXgdcvepefUvi818Tt8kKnPQQJVxqINGeys,9237
         
     | 
| 
       73 
     | 
    
         
            -
            claude_mpm/hooks/builtin/todo_agent_prefix_hook.py,sha256= 
     | 
| 
      
 73 
     | 
    
         
            +
            claude_mpm/hooks/builtin/todo_agent_prefix_hook.py,sha256=v_4w2vcZIt0bkZxqdHmgtN79yHZ1gviuhhBws0FHpIQ,10226
         
     | 
| 
       74 
74 
     | 
    
         
             
            claude_mpm/hooks/builtin/workflow_start_hook.py,sha256=EQrtYD9qLMLSYPl3oQinEheZAJ2i5EO_h2jhhR8lmt0,7490
         
     | 
| 
       75 
75 
     | 
    
         
             
            claude_mpm/orchestration/SUBPROCESS_DESIGN.md,sha256=YwToiT1_NXblv1XIWhWPNc2uKzDvqY2E_Nix8qK7qk0,2136
         
     | 
| 
       76 
76 
     | 
    
         
             
            claude_mpm/orchestration/__init__.py,sha256=C-cwldtfBCgV19mKnJa5U1XiKw1rAZvx-kK61nIdcao,205
         
     | 
| 
         @@ -123,7 +123,7 @@ claude_mpm/services/framework_claude_md_generator/section_generators/header.py,s 
     | 
|
| 
       123 
123 
     | 
    
         
             
            claude_mpm/services/framework_claude_md_generator/section_generators/orchestration_principles.py,sha256=fKdCMvu95m7kXx6SIDzz0d6z9uvOc8EWLCZCwHANNdA,1829
         
     | 
| 
       124 
124 
     | 
    
         
             
            claude_mpm/services/framework_claude_md_generator/section_generators/role_designation.py,sha256=aYBHykUbsgUz7XYUNR-J3nQjIevFHvUQNBO0L1GqlTw,1468
         
     | 
| 
       125 
125 
     | 
    
         
             
            claude_mpm/services/framework_claude_md_generator/section_generators/subprocess_validation.py,sha256=eqj2nNXtOZ8KkMyINpkU-JLDfXHY81MpKhf_qmnZdUc,4117
         
     | 
| 
       126 
     | 
    
         
            -
            claude_mpm/services/framework_claude_md_generator/section_generators/todo_task_tools.py,sha256= 
     | 
| 
      
 126 
     | 
    
         
            +
            claude_mpm/services/framework_claude_md_generator/section_generators/todo_task_tools.py,sha256=W6PaLGxCISqFQCku7yCIz-lN81FHZjSq4c2KnnO9AeI,5719
         
     | 
| 
       127 
127 
     | 
    
         
             
            claude_mpm/services/framework_claude_md_generator/section_generators/troubleshooting.py,sha256=o0oD7RuBSeLF4S8NCVH9lMLmQWQ57JrAm-j1BeTb0uM,1887
         
     | 
| 
       128 
128 
     | 
    
         
             
            claude_mpm/services/parent_directory_manager/README.md,sha256=VEdJXvxsoCA-kuBWJ_t-RZf-jU_oB43_7Inw9V6AFFk,2909
         
     | 
| 
       129 
129 
     | 
    
         
             
            claude_mpm/services/parent_directory_manager/__init__.py,sha256=IonvPwRV-JP58qHQGzuLxGHh83pB4SgLTzsRYbejSUQ,22889
         
     | 
| 
         @@ -152,8 +152,8 @@ claude_mpm/utils/import_migration_example.py,sha256=W4a4XH3FY_VBB00BB8Lae2aRPM02 
     | 
|
| 
       152 
152 
     | 
    
         
             
            claude_mpm/utils/imports.py,sha256=wX-SOXUHbemx01MHRGQpVwajzXH6qYdQkYNFCIbb2mw,6851
         
     | 
| 
       153 
153 
     | 
    
         
             
            claude_mpm/utils/path_operations.py,sha256=6pLMnAWBVzHkgp6JyQHmHbGD-dWn-nX21yV4E_eT-kM,11614
         
     | 
| 
       154 
154 
     | 
    
         
             
            claude_mpm/utils/paths.py,sha256=Xv0SZWdZRkRjN9e6clBcA165ya00GNQxt7SwMz51tfA,10153
         
     | 
| 
       155 
     | 
    
         
            -
            claude_mpm-0. 
     | 
| 
       156 
     | 
    
         
            -
            claude_mpm-0. 
     | 
| 
       157 
     | 
    
         
            -
            claude_mpm-0. 
     | 
| 
       158 
     | 
    
         
            -
            claude_mpm-0. 
     | 
| 
       159 
     | 
    
         
            -
            claude_mpm-0. 
     | 
| 
      
 155 
     | 
    
         
            +
            claude_mpm-1.0.0.dist-info/METADATA,sha256=s8VhjuHma1JWq9S1G6iq7eNfxD6__qDFbCF6aqZOw4c,8792
         
     | 
| 
      
 156 
     | 
    
         
            +
            claude_mpm-1.0.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
         
     | 
| 
      
 157 
     | 
    
         
            +
            claude_mpm-1.0.0.dist-info/entry_points.txt,sha256=PknO31um7d8bt6GjOiVeYpdJpjND0_C1z-LQfY6UfiU,142
         
     | 
| 
      
 158 
     | 
    
         
            +
            claude_mpm-1.0.0.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
         
     | 
| 
      
 159 
     | 
    
         
            +
            claude_mpm-1.0.0.dist-info/RECORD,,
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     | 
| 
         
            File without changes
         
     |