SuperClaude/docs/Development/pm-agent-integration.md
Mithun Gowda B faa53f27da
Revert "feat: comprehensive framework improvements (#447)" (#453)
This reverts commit 00706f0ea99aa04f54a3ddf5244738b0a9b37a91.
2025-10-21 09:48:41 +05:30

478 lines
11 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# PM Agent Mode Integration Guide
**Last Updated**: 2025-10-14
**Target Version**: 4.2.0
**Status**: Implementation Guide
---
## 📋 Overview
This guide provides step-by-step procedures for integrating PM Agent mode as SuperClaude's always-active meta-layer with session lifecycle management, PDCA self-evaluation, and systematic knowledge management.
---
## 🎯 Integration Goals
1. **Session Lifecycle**: Auto-activation at session start with context restoration
2. **PDCA Engine**: Automated Plan-Do-Check-Act cycle execution
3. **Memory Operations**: Serena MCP integration for session persistence
4. **Documentation Strategy**: Systematic knowledge evolution
---
## 📐 Architecture Integration
### PM Agent Position
```
┌──────────────────────────────────────────┐
│ PM Agent Mode (Meta-Layer) │
│ • Always Active │
│ • Session Management │
│ • PDCA Self-Evaluation │
└──────────────┬───────────────────────────┘
[Specialist Agents Layer]
[Commands & Modes Layer]
[MCP Tool Layer]
```
See: [ARCHITECTURE.md](./ARCHITECTURE.md) for full system architecture
---
## 🔧 Phase 2: Core Implementation
### File Structure
```
superclaude/
├── Commands/
│ └── pm.md # ✅ Already updated
├── Agents/
│ └── pm-agent.md # ✅ Already updated
└── Core/
├── __init__.py # Module initialization
├── session_lifecycle.py # 🆕 Session management
├── pdca_engine.py # 🆕 PDCA automation
└── memory_ops.py # 🆕 Memory operations
```
### Implementation Order
1. `memory_ops.py` - Serena MCP wrapper (foundation)
2. `session_lifecycle.py` - Session management (depends on memory_ops)
3. `pdca_engine.py` - PDCA automation (depends on memory_ops)
---
## 1⃣ memory_ops.py Implementation
### Purpose
Wrapper for Serena MCP memory operations with error handling and fallback.
### Key Functions
```python
# superclaude/Core/memory_ops.py
class MemoryOperations:
"""Serena MCP memory operations wrapper"""
def list_memories() -> List[str]:
"""List all available memories"""
def read_memory(key: str) -> Optional[Dict]:
"""Read memory by key"""
def write_memory(key: str, value: Dict) -> bool:
"""Write memory with key"""
def delete_memory(key: str) -> bool:
"""Delete memory by key"""
```
### Integration Points
- Connect to Serena MCP server
- Handle connection errors gracefully
- Provide fallback for offline mode
- Validate memory structure
### Testing
```bash
pytest tests/test_memory_ops.py -v
```
---
## 2⃣ session_lifecycle.py Implementation
### Purpose
Auto-activation at session start, context restoration, user report generation.
### Key Functions
```python
# superclaude/Core/session_lifecycle.py
class SessionLifecycle:
"""Session lifecycle management"""
def on_session_start():
"""Hook for session start (auto-activation)"""
# 1. list_memories()
# 2. read_memory("pm_context")
# 3. read_memory("last_session")
# 4. read_memory("next_actions")
# 5. generate_user_report()
def generate_user_report() -> str:
"""Generate user report (前回/進捗/今回/課題)"""
def on_session_end():
"""Hook for session end (checkpoint save)"""
# 1. write_memory("last_session", summary)
# 2. write_memory("next_actions", todos)
# 3. write_memory("pm_context", complete_state)
```
### User Report Format
```
前回: [last session summary]
進捗: [current progress status]
今回: [planned next actions]
課題: [blockers or issues]
```
### Integration Points
- Hook into Claude Code session start
- Read memories using memory_ops
- Generate human-readable report
- Handle missing or corrupted memory
### Testing
```bash
pytest tests/test_session_lifecycle.py -v
```
---
## 3⃣ pdca_engine.py Implementation
### Purpose
Automate PDCA cycle execution with documentation generation.
### Key Functions
```python
# superclaude/Core/pdca_engine.py
class PDCAEngine:
"""PDCA cycle automation"""
def plan_phase(goal: str):
"""Generate hypothesis (仮説)"""
# 1. write_memory("plan", goal)
# 2. Create docs/temp/hypothesis-YYYY-MM-DD.md
def do_phase():
"""Track experimentation (実験)"""
# 1. TodoWrite tracking
# 2. write_memory("checkpoint", progress) every 30min
# 3. Update docs/temp/experiment-YYYY-MM-DD.md
def check_phase():
"""Self-evaluation (評価)"""
# 1. think_about_task_adherence()
# 2. think_about_whether_you_are_done()
# 3. Create docs/temp/lessons-YYYY-MM-DD.md
def act_phase():
"""Knowledge extraction (改善)"""
# 1. Success → docs/patterns/[pattern-name].md
# 2. Failure → docs/mistakes/mistake-YYYY-MM-DD.md
# 3. Update CLAUDE.md if global pattern
```
### Documentation Templates
**hypothesis-template.md**:
```markdown
# Hypothesis: [Goal Description]
Date: YYYY-MM-DD
Status: Planning
## Goal
What are we trying to accomplish?
## Approach
How will we implement this?
## Success Criteria
How do we know when we're done?
## Potential Risks
What could go wrong?
```
**experiment-template.md**:
```markdown
# Experiment Log: [Implementation Name]
Date: YYYY-MM-DD
Status: In Progress
## Implementation Steps
- [ ] Step 1
- [ ] Step 2
## Errors Encountered
- Error 1: Description, solution
## Solutions Applied
- Solution 1: Description, result
## Checkpoint Saves
- 10:00: [progress snapshot]
- 10:30: [progress snapshot]
```
### Integration Points
- Create docs/ directory templates
- Integrate with TodoWrite
- Call Serena MCP think operations
- Generate documentation files
### Testing
```bash
pytest tests/test_pdca_engine.py -v
```
---
## 🔌 Phase 3: Serena MCP Integration
### Prerequisites
```bash
# Install Serena MCP server
# See: docs/troubleshooting/serena-installation.md
```
### Configuration
```json
// ~/.claude/.claude.json
{
"mcpServers": {
"serena": {
"command": "uv",
"args": ["run", "serena-mcp"]
}
}
}
```
### Memory Structure
```json
{
"pm_context": {
"project": "SuperClaude_Framework",
"current_phase": "Phase 2",
"architecture": "Context-Oriented Configuration",
"patterns": ["PDCA Cycle", "Session Lifecycle"]
},
"last_session": {
"date": "2025-10-14",
"accomplished": ["Phase 1 complete"],
"issues": ["Serena MCP not configured"],
"learned": ["Session Lifecycle pattern"]
},
"next_actions": [
"Implement session_lifecycle.py",
"Configure Serena MCP",
"Test memory operations"
]
}
```
### Testing Serena Connection
```bash
# Test memory operations
python -m SuperClaude.Core.memory_ops --test
```
---
## 📁 Phase 4: Documentation Strategy
### Directory Structure
```
docs/
├── temp/ # Temporary (7-day lifecycle)
│ ├── hypothesis-YYYY-MM-DD.md
│ ├── experiment-YYYY-MM-DD.md
│ └── lessons-YYYY-MM-DD.md
├── patterns/ # Formal patterns (永久保存)
│ └── [pattern-name].md
└── mistakes/ # Mistake records (永久保存)
└── mistake-YYYY-MM-DD.md
```
### Lifecycle Automation
```bash
# Create cleanup script
scripts/cleanup_temp_docs.sh
# Run daily via cron
0 0 * * * /path/to/scripts/cleanup_temp_docs.sh
```
### Migration Scripts
```bash
# Migrate successful experiments to patterns
python scripts/migrate_to_patterns.py
# Migrate failures to mistakes
python scripts/migrate_to_mistakes.py
```
---
## 🚀 Phase 5: Auto-Activation (Research Needed)
### Research Questions
1. How does Claude Code handle initialization?
2. Are there plugin hooks available?
3. Can we intercept session start events?
### Implementation Plan (TBD)
Once research complete, implement auto-activation hooks:
```python
# superclaude/Core/auto_activation.py (future)
def on_claude_code_start():
"""Auto-activate PM Agent at session start"""
session_lifecycle.on_session_start()
```
---
## ✅ Implementation Checklist
### Phase 2: Core Implementation
- [ ] Implement `memory_ops.py`
- [ ] Write unit tests for memory_ops
- [ ] Implement `session_lifecycle.py`
- [ ] Write unit tests for session_lifecycle
- [ ] Implement `pdca_engine.py`
- [ ] Write unit tests for pdca_engine
- [ ] Integration testing
### Phase 3: Serena MCP
- [ ] Install Serena MCP server
- [ ] Configure `.claude.json`
- [ ] Test memory operations
- [ ] Test think operations
- [ ] Test cross-session persistence
### Phase 4: Documentation Strategy
- [ ] Create `docs/temp/` template
- [ ] Create `docs/patterns/` template
- [ ] Create `docs/mistakes/` template
- [ ] Implement lifecycle automation
- [ ] Create migration scripts
### Phase 5: Auto-Activation
- [ ] Research Claude Code hooks
- [ ] Design auto-activation system
- [ ] Implement auto-activation
- [ ] Test session start behavior
---
## 🧪 Testing Strategy
### Unit Tests
```bash
tests/
├── test_memory_ops.py # Memory operations
├── test_session_lifecycle.py # Session management
└── test_pdca_engine.py # PDCA automation
```
### Integration Tests
```bash
tests/integration/
├── test_pm_agent_flow.py # End-to-end PM Agent
├── test_serena_integration.py # Serena MCP integration
└── test_cross_session.py # Session persistence
```
### Manual Testing
1. Start new session → Verify context restoration
2. Work on task → Verify checkpoint saves
3. End session → Verify state preservation
4. Restart → Verify seamless resumption
---
## 📊 Success Criteria
### Functional
- [ ] PM Agent activates at session start
- [ ] Context restores from memory
- [ ] User report generates correctly
- [ ] PDCA cycle executes automatically
- [ ] Documentation strategy works
### Performance
- [ ] Session start delay <500ms
- [ ] Memory operations <100ms
- [ ] Context restoration reliable (>99%)
### Quality
- [ ] Test coverage >90%
- [ ] No regression in existing features
- [ ] Documentation complete
---
## 🔧 Troubleshooting
### Common Issues
**"Serena MCP not connecting"**
- Check server installation
- Verify `.claude.json` configuration
- Test connection: `claude mcp list`
**"Memory operations failing"**
- Check network connection
- Verify Serena server running
- Check error logs
**"Context not restoring"**
- Verify memory structure
- Check `pm_context` exists
- Test with fresh memory
---
## 📚 References
- [ARCHITECTURE.md](./ARCHITECTURE.md) - System architecture
- [ROADMAP.md](./ROADMAP.md) - Development roadmap
- [PM_AGENT.md](../PM_AGENT.md) - Status tracking
- [Commands/pm.md](../../superclaude/Commands/pm.md) - PM Agent command
- [Agents/pm-agent.md](../../superclaude/Agents/pm-agent.md) - PM Agent persona
---
**Last Verified**: 2025-10-14
**Next Review**: 2025-10-21 (1 week)
**Version**: 4.1.5