194 lines
5.5 KiB
Markdown
194 lines
5.5 KiB
Markdown
# Update Memory Bank
|
|
|
|
This task updates the Memory Bank documentation based on recent project activities. The Memory Bank ensures AI agents maintain context across sessions by preserving project knowledge in structured files.
|
|
|
|
## Purpose
|
|
|
|
Update the Memory Bank to reflect:
|
|
- Recent development activities and decisions
|
|
- Architectural changes and patterns
|
|
- Technical context updates
|
|
- Progress and current work state
|
|
- Lessons learned and insights
|
|
|
|
## Data Sources
|
|
|
|
The update draws from multiple sources:
|
|
- **Dev Journal Entries**: Daily development narratives in `docs/devJournal/`
|
|
- **CHANGELOG.md**: Recent changes and version history
|
|
- **README Files**: Project documentation updates
|
|
- **ADRs**: Architectural Decision Records in `docs/adr/`
|
|
- **Source Code**: Actual implementation changes
|
|
- **Test Results**: Quality and coverage updates
|
|
|
|
## Update Process
|
|
|
|
### 1. Gather Recent Changes
|
|
|
|
```bash
|
|
# Review dev journals from recent sessions
|
|
ls -la docs/devJournal/*.md | tail -5
|
|
|
|
# Check recent ADRs
|
|
ls -la docs/adr/*.md | tail -5
|
|
|
|
# Review CHANGELOG
|
|
head -50 CHANGELOG.md
|
|
|
|
# Check README updates
|
|
find . -name "README*.md" -mtime -7
|
|
```
|
|
|
|
### 2. Analyze Impact
|
|
|
|
For each source, identify:
|
|
- What changed and why
|
|
- Impact on system architecture
|
|
- New patterns or conventions
|
|
- Technical decisions made
|
|
- Open questions resolved
|
|
- New dependencies or constraints
|
|
|
|
### 3. Update Memory Bank Files
|
|
|
|
Update relevant files based on changes:
|
|
|
|
#### 3.1 Project Brief (`projectbrief.md`)
|
|
Update if:
|
|
- Core requirements changed
|
|
- Project goals refined
|
|
- Success criteria modified
|
|
- New constraints identified
|
|
|
|
#### 3.2 Product Context (`productContext.md`)
|
|
Update if:
|
|
- User needs clarified
|
|
- Problem understanding evolved
|
|
- Expected outcomes changed
|
|
- UX goals modified
|
|
|
|
#### 3.3 System Patterns (`systemPatterns.md`)
|
|
Update if:
|
|
- Architecture decisions made (check ADRs)
|
|
- New design patterns adopted
|
|
- Component relationships changed
|
|
- Integration points modified
|
|
- Critical paths identified
|
|
|
|
#### 3.4 Tech Context (`techContext.md`)
|
|
Update if:
|
|
- Dependencies added/updated
|
|
- Tools or frameworks changed
|
|
- Build process modified
|
|
- Technical constraints discovered
|
|
- Environment changes
|
|
|
|
#### 3.5 Active Context (`activeContext.md`)
|
|
ALWAYS update with:
|
|
- Current work items
|
|
- Recent completions
|
|
- Active decisions
|
|
- Next priorities
|
|
- Open questions
|
|
- Important patterns discovered
|
|
- Learnings from dev journals
|
|
|
|
#### 3.6 Progress (`progress.md`)
|
|
Update with:
|
|
- Features completed
|
|
- Work in progress status
|
|
- Issues discovered/resolved
|
|
- Technical debt changes
|
|
- Decision evolution
|
|
|
|
### 4. Validation
|
|
|
|
After updates:
|
|
1. **Cross-Reference Check**: Ensure consistency across all files
|
|
2. **Accuracy Verification**: Confirm updates match source material
|
|
3. **Completeness Review**: No critical information omitted
|
|
4. **Clarity Assessment**: Clear for future AI sessions
|
|
|
|
### 5. Update Guidelines
|
|
|
|
- **Be Concise**: Capture essence without excessive detail
|
|
- **Be Comprehensive**: Include all significant changes
|
|
- **Be Accurate**: Reflect actual state, not aspirations
|
|
- **Maintain Consistency**: Align with existing memory bank content
|
|
- **Use British English**: For consistency across documentation
|
|
|
|
## Selective vs Comprehensive Updates
|
|
|
|
### Selective Update
|
|
Triggered by specific events:
|
|
- Story completion → Update progress and activeContext
|
|
- ADR creation → Update systemPatterns
|
|
- Major decision → Update relevant sections
|
|
- Architecture change → Update systemPatterns and techContext
|
|
|
|
### Comprehensive Update
|
|
Triggered by:
|
|
- End of sprint/iteration
|
|
- Major milestone reached
|
|
- Explicit user request
|
|
- Significant project pivot
|
|
- Before major feature work
|
|
|
|
## Quality Checklist
|
|
|
|
- [ ] All recent dev journals reviewed
|
|
- [ ] ADRs incorporated into systemPatterns
|
|
- [ ] CHANGELOG reflected in progress
|
|
- [ ] Active work items current
|
|
- [ ] Technical decisions documented
|
|
- [ ] No contradictions between files
|
|
- [ ] Next steps clearly defined
|
|
- [ ] British English used throughout
|
|
|
|
## Integration Points
|
|
|
|
This task integrates with:
|
|
- **Dev Journal Creation**: Triggers selective activeContext update
|
|
- **ADR Creation**: Triggers systemPatterns update
|
|
- **Story Completion**: Triggers progress update
|
|
- **Sprint End**: Triggers comprehensive update
|
|
- **Architecture Changes**: Triggers multiple file updates
|
|
|
|
## Example Update Flow
|
|
|
|
```mermaid
|
|
flowchart TD
|
|
Start[Gather Sources] --> Analyze[Analyze Changes]
|
|
Analyze --> Categorize[Categorize by Impact]
|
|
|
|
Categorize --> Brief{Project Brief?}
|
|
Categorize --> Product{Product Context?}
|
|
Categorize --> System{System Patterns?}
|
|
Categorize --> Tech{Tech Context?}
|
|
Categorize --> Active[Active Context]
|
|
Categorize --> Progress[Progress]
|
|
|
|
Brief -->|If changed| UpdateBrief[Update projectbrief.md]
|
|
Product -->|If changed| UpdateProduct[Update productContext.md]
|
|
System -->|If changed| UpdateSystem[Update systemPatterns.md]
|
|
Tech -->|If changed| UpdateTech[Update techContext.md]
|
|
Active --> UpdateActive[Update activeContext.md]
|
|
Progress --> UpdateProgress[Update progress.md]
|
|
|
|
UpdateBrief --> Validate
|
|
UpdateProduct --> Validate
|
|
UpdateSystem --> Validate
|
|
UpdateTech --> Validate
|
|
UpdateActive --> Validate
|
|
UpdateProgress --> Validate
|
|
|
|
Validate[Validate Consistency] --> Complete[Update Complete]
|
|
```
|
|
|
|
## Notes
|
|
|
|
- Memory Bank is critical for AI session continuity
|
|
- Updates should capture reality, not ideals
|
|
- Focus on information that helps future sessions
|
|
- Balance detail with conciseness
|
|
- Remember: This is the AI's only link to past work after memory reset |