| name | process-sessions |
| description | Process ephemeral session notes and extract valuable knowledge into permanent documentation |
| group | docent |
| keywords | knowledge-management, documentation, sessions, cleanup, review, process sessions, extract knowledge |
| version | 1.0.0 |
| author | docent |
Process Session Notes Runbook
This runbook guides you through reviewing ephemeral session notes, extracting valuable knowledge, and cleaning up processed sessions.
Purpose
Session notes (.docent/sessions/*.md) capture detailed work logs from AI agent sessions - objectives, context, work performed, results, and lessons learned. This runbook helps:
- Extract valuable insights into permanent documentation
- Archive or delete processed ephemeral notes
- Keep the sessions directory manageable
- Prevent loss of important knowledge
Prerequisites
.docent/sessions/directory with session notes- Write access to documentation directories
- Understanding of current project priorities
Procedure
Step 1: List Session Notes
Purpose: Identify all session notes to process
Commands:
# List all session notes sorted by modification time
ls -lt .docent/sessions/*.md
# Count total sessions
ls -1 .docent/sessions/*.md | wc -l
Review: Note which sessions are recent vs historical
Step 2: Review Each Session Note
Purpose: Read through sessions to identify valuable content
Action: For each session note, read and look for:
High-value knowledge:
- Architecture decisions → Should become ADRs
- Important discoveries → Should be in guides or architecture docs
- Problems solved → Should be in troubleshooting guides
- Lessons learned → Should be documented to prevent future issues
- Code reference updates → May need to be captured in changelogs
Medium-value knowledge:
- Implementation patterns discovered
- Configuration changes made
- Dependencies updated
- Tool usage insights
Low-value ephemeral content:
- Routine implementation steps
- Standard git operations
- Normal debugging process
- Obvious code changes
Decision Point: For each piece of knowledge, ask:
- Will this help future developers?
- Does this explain "why" something was done?
- Would I want to know this 6 months from now?
- Is this already documented elsewhere?
Step 3: Extract Architecture Decisions
Purpose: Capture significant technical decisions as ADRs
Action: For architecture decisions found in session "Lessons Learned" or "Context" sections
Use /docent:tell to create ADR:
/docent:tell create an ADR documenting [the decision]
Context from session:
- Decision: [what was decided]
- Rationale: [why it was decided]
- Date: [session date]
- Trade-offs: [from Lessons Learned section]
Location: .docent/adr/
Example Decisions to Extract:
- Technology choices (database, framework, library)
- API design decisions
- Data model changes
- Performance optimization approaches
- Security implementation choices
Step 4: Extract Implementation Insights
Purpose: Document useful patterns and discoveries
Action: For valuable implementation details from "Work Performed" or "Results" sections
Use /docent:tell:
/docent:tell add to [relevant guide]:
From [session-date]: [insight or pattern discovered]
Common locations:
- Implementation patterns →
.docent/guides/ - API usage →
.docent/guides/api-usage.md - Tool configuration →
.docent/guides/setup.md - Troubleshooting solutions →
.docent/guides/troubleshooting.md
Example Insights to Extract:
- "Config X requires Y to work properly"
- "The build fails if Z is not set"
- "Performance improves 50% with W approach"
Step 5: Update CHANGELOG and Documentation
Purpose: Ensure user-facing changes are documented
Action: Review "Results" section for changes that affect users or developers
Update locations:
- CHANGELOG.md - User-visible changes, new features, breaking changes
- README.md - New setup steps, changed requirements
- Architecture docs - Structural changes, new patterns
Commands:
# Check what's already in CHANGELOG
head -20 CHANGELOG.md
# Edit CHANGELOG if needed
# (Use Edit tool)
Example CHANGELOG entries:
## [Unreleased]
### Added
- New session processing runbook for knowledge management
### Changed
- Documentation structure consolidated from docs/ to .docent/
### Fixed
- Broken links in architecture documentation
Step 6: Capture Lessons Learned
Purpose: Prevent repeating mistakes and preserve insights
Action: Extract key points from "Lessons Learned" sections
Use /docent:tell:
/docent:tell document lesson learned:
[Copy lesson from session notes]
Common documentation targets:
- Project conventions →
.docent/guides/conventions.md - Common pitfalls →
.docent/guides/troubleshooting.md - Best practices →
.docent/guides/best-practices.md - Tool gotchas →
.docent/guides/tooling.md
Step 7: Clean Up Session Notes
Purpose: Remove ephemeral content after extraction
Decision Point: What to do with processed sessions?
Option A: Archive by Year (Recommended)
Keep history organized but clearly mark as processed:
# Create archive structure
mkdir -p .docent/sessions/archive/$(date +%Y)
# Move processed sessions
mv .docent/sessions/2025-10-*.md .docent/sessions/archive/2025/
Benefits:
- Preserves complete history
- Easy to reference if needed
- Keeps active directory clean
Option B: Delete Ephemeral Sessions
Completely remove sessions after extraction:
# Review one more time
ls .docent/sessions/2025-10-*.md
# Delete after confirming extraction is complete
rm .docent/sessions/2025-10-*.md
Benefits:
- Cleaner repository
- Focuses on permanent docs only
- Matches gitignore patterns for ephemeral content
Recommended Approach:
- Archive sessions with significant decisions or complex work
- Delete sessions with only routine changes or already-documented work
- Keep recent sessions (last 7-14 days) for reference
Step 8: Standardize Session Naming
Purpose: Ensure consistent naming for easier processing
Action: Rename sessions to follow consistent pattern
Standard format: YYYY-MM-DD-session-NNN.md
Commands:
# Check current naming
ls .docent/sessions/
# Rename inconsistent files
mv .docent/sessions/session-2025-10-29.md \
.docent/sessions/2025-10-29-session-001.md
Validation:
- All sessions follow date-first format
- Sessions on same day are numbered sequentially
- Easy to sort chronologically
Step 9: Update .gitignore if Needed
Purpose: Ensure ephemeral sessions aren't accidentally committed
Action: Check if sessions should be gitignored
Commands:
# Check current gitignore
grep -A2 -B2 session .gitignore
# Check what's currently tracked
git ls-files .docent/sessions/
Decision Point:
- Track sessions if they're valuable project history
- Ignore sessions if they're truly ephemeral agent state
If ignoring, add to .gitignore:
# Docent ephemeral session notes
.docent/sessions/
!.docent/sessions/archive/
Note: Current project tracks sessions, but you may prefer different approach
Step 10: Commit Documentation Updates
Purpose: Save extracted knowledge
Action: Create commit with changes
Commands:
# Check what changed
git status .docent/ CHANGELOG.md
# Stage changes
git add .docent/adr/ .docent/guides/ .docent/architecture/
git add CHANGELOG.md
# Create commit
git commit -m "docs: extract knowledge from session review
- Added ADRs for [decisions]
- Updated [guides] with implementation insights
- Documented [lessons learned]
- Cleaned up ephemeral session notes
Processed sessions: [date range]"
Validation & Verification
Success Criteria
How do you know processing succeeded?
- All valuable insights extracted to permanent docs
- Session notes archived or deleted appropriately
- Documentation is searchable via
/docent:ask - CHANGELOG updated if needed
- No broken references to deleted sessions
- Commit created with extracted knowledge
Health Checks
Post-processing validation:
# Verify sessions directory is clean
ls -la .docent/sessions/
# Test documentation search works
# (Use /docent:ask to find extracted content)
# Check git status
git status
Cadence
Recommended frequency:
- After each significant session - Extract while context is fresh
- Weekly - Process last week's sessions in batch
- Before releases - Ensure all valuable knowledge is documented
- Monthly - Deep review and aggressive cleanup
Time estimates:
- Quick session (routine work): 5 minutes
- Medium session (new features): 15 minutes
- Complex session (architecture changes): 30-45 minutes
Troubleshooting
Common Issues
Issue: Session contains valuable content but unclear where it belongs
Solution:
- Use
/docent:ask where should documentation about [topic] go? - Create new guide if no appropriate location exists
- When in doubt, extract to
.docent/notes/and decide later
Issue: Session describes decision but lacks full context
Solution:
- Search related code to understand context better
- Check git history for related commits
- Use
/docent:tellto document what you can reconstruct - Note in ADR that details were from session reconstruction
Issue: Multiple sessions cover same topic
Solution:
- Read all related sessions together
- Extract consolidated knowledge (not duplicate content)
- Create single comprehensive doc covering the topic
- Archive or delete all related sessions together
Issue: Unsure if session content is still relevant
Solution:
- Check if code/files referenced still exist
- Verify approaches described are still in use
- When in doubt, extract with date context: "As of [date], ..."
- Mark potentially outdated content for future review
Tips
Efficient Processing:
- Process sessions immediately after completion (context is fresh)
- Use
/docent:tellextensively to speed up extraction - Focus on "why" and "lessons learned" - code shows "what"
- Create templates for common extraction patterns
Knowledge Triage:
- High value: Architecture decisions, non-obvious solutions, project context
- Medium value: Implementation patterns, tool discoveries, configuration gotchas
- Low value: Routine git operations, standard debugging, obvious code changes
Avoid Over-Documenting:
- Not every session needs extraction
- Routine implementation details don't need permanent docs
- Code reviews and simple refactors are often self-documenting
Session Writing Tips (for future):
- Write "Lessons Learned" with extraction in mind
- Make "Context" section rich for future reference
- Note "why" decisions were made, not just "what" was done
- Flag high-value insights as you work
Notes & Warnings
💡 Tip: Process sessions while memory is fresh - much faster than processing old sessions
⚠️ Warning: Don't delete sessions until after extraction is complete and committed
📝 Note: Sessions are intentionally more detailed than journals - expect significant distillation during extraction
References
- Process Journals Runbook - Similar workflow for journal entries
- Bootstrap Runbook - Initial docent setup
- Health Check Runbook - Project health validation
Change Log
2025-10-29: Initial version