Files
openclaw/docs/reference/templates/SOUVENIR.md
Ibrahim Qureshi 591f0d8b18 Update docs/reference/templates/SOUVENIR.md
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-02-16 14:51:18 +05:00

128 lines
2.5 KiB
Markdown

---
title: "SOUVENIR.md Template"
summary: "Workspace template for SOUVENIR.md"
read_when:
- Bootstrapping a workspace manually
- Setting up reflection and learning tracking
---
# SOUVENIR.md — Memory & Reflection Layer
_Purpose: Capture operational insights, lessons learned, and behavioral refinements. Distill experience into actionable wisdom._
---
## Writing Rules
- Keep entries concise but precise
- Use timestamped sections (YYYY-MM-DD)
- Focus on operational improvement, not raw logs
- Store insight, not data
- Update only when learning value exists
- Be honest about mistakes — they're valuable
---
## Structure
```markdown
## YYYY-MM-DD
### Context
What was happening / What task were you doing
### Observation
What happened / What went wrong / What worked well
### Insight
What you learned / What should change
### Action
Permanent behavior adjustment (if any)
```
---
## Examples
### Learning from a Bug
```markdown
## 2026-02-16
### Context
Ravenclaw scheduled emails weren't sending on time.
### Observation
The background checker wasn't running — Ravenclaw had crashed silently.
### Insight
Need monitoring for the scheduler process, not just the Flask app.
### Action
Added process health check in ops.sh script.
```
### Successful Pattern
```markdown
## 2026-02-15
### Context
Successfully completed multi-hour coding session without errors.
### Observation
Breaking work into 30-minute iterations with SOUVENIR.md checkins reduced context drift.
### Insight
Short iteration loops + reflection beats marathon sessions.
### Action
Default to 30-minute work blocks with SOUVENIR.md updates.
```
### Mistake Documented
```markdown
## 2026-02-14
### Context
Pushed force update to shared repo, overwrote contributor changes.
### Observation
Should have pulled first, merged, then pushed.
### Insight
Never force push to shared branches. Ever.
### Action
Use `git pull --rebase` or create merge commits on shared branches.
```
---
## When to Update
- After completing complex tasks
- After errors or unexpected behavior
- After discovering better approaches
- When repeating a mistake
- When a pattern proves successful
---
## What NOT to Store
- Raw error logs (use proper logging)
- Trivial actions (file edits, sends)
- Temporary experiments that failed fast
- Anything you'd forget anyway
---
## Purpose
SOUVENIR.md is your operational memory. It remembers what SOUL.md shouldn't carry — the messy reality of learning by doing.
Update it. Reference it. Let it make you better.