feat(templates): add 3-tier memory templates (OpenClaw pattern)
This commit is contained in:
parent
cd74a4e8b0
commit
80120e5c6c
4 changed files with 208 additions and 0 deletions
42
scripts/templates/memory/DAILY-LOG.md
Normal file
42
scripts/templates/memory/DAILY-LOG.md
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
# Daily Log: {{AGENT_NAME}}
|
||||||
|
|
||||||
|
> Warm daily capture. One file per day. Filename: memory/YYYY-MM-DD.md
|
||||||
|
> Auto-rotated: the pipeline creates a new file each day.
|
||||||
|
|
||||||
|
## {{DATE}}
|
||||||
|
|
||||||
|
### Summary of Work
|
||||||
|
|
||||||
|
[1-3 sentences describing what was accomplished today]
|
||||||
|
|
||||||
|
### Decisions Made
|
||||||
|
|
||||||
|
| Decision | Context | Outcome |
|
||||||
|
|----------|---------|---------|
|
||||||
|
| | | |
|
||||||
|
|
||||||
|
### Files Modified
|
||||||
|
|
||||||
|
- [file path] — [what changed and why]
|
||||||
|
|
||||||
|
### Issues Encountered
|
||||||
|
|
||||||
|
- [issue description] — [resolution or status]
|
||||||
|
|
||||||
|
### Quality Scores
|
||||||
|
|
||||||
|
| Pipeline run | Reviewer score | Notes |
|
||||||
|
|-------------|---------------|-------|
|
||||||
|
| | | |
|
||||||
|
|
||||||
|
### Carry Forward
|
||||||
|
|
||||||
|
> Items for the next session. These get checked on the next pipeline run.
|
||||||
|
|
||||||
|
- [ ] [item that needs attention tomorrow]
|
||||||
|
- [ ] [follow-up from today's work]
|
||||||
|
|
||||||
|
### Cost
|
||||||
|
|
||||||
|
- Estimated tokens used: [if tracked]
|
||||||
|
- Pipeline runs: [count]
|
||||||
46
scripts/templates/memory/MEMORY.md
Normal file
46
scripts/templates/memory/MEMORY.md
Normal file
|
|
@ -0,0 +1,46 @@
|
||||||
|
# Long-Term Memory: {{AGENT_NAME}}
|
||||||
|
|
||||||
|
> Cold curated memory. Updated manually or after significant learnings.
|
||||||
|
> This is the last file read during compaction recovery.
|
||||||
|
|
||||||
|
## Agent Identity
|
||||||
|
|
||||||
|
- Name: {{AGENT_NAME}}
|
||||||
|
- Role: [what this agent does]
|
||||||
|
- Domain: {{DOMAIN}}
|
||||||
|
- Created: {{DATE}}
|
||||||
|
|
||||||
|
## Key Learnings
|
||||||
|
|
||||||
|
> Manually curated from daily logs. Only include insights that affect
|
||||||
|
> future behavior. Delete entries that are no longer relevant.
|
||||||
|
|
||||||
|
- [learning 1 — date discovered]
|
||||||
|
- [learning 2 — date discovered]
|
||||||
|
|
||||||
|
## Recurring Patterns
|
||||||
|
|
||||||
|
> Patterns observed across multiple runs. Used to improve agent behavior.
|
||||||
|
|
||||||
|
| Pattern | Frequency | Impact | Action taken |
|
||||||
|
|---------|-----------|--------|-------------|
|
||||||
|
| | | | |
|
||||||
|
|
||||||
|
## Known Issues
|
||||||
|
|
||||||
|
> Active issues that affect agent performance.
|
||||||
|
|
||||||
|
- [issue] — [workaround] — [status: open/resolved]
|
||||||
|
|
||||||
|
## Project Context
|
||||||
|
|
||||||
|
> Static context that doesn't change often.
|
||||||
|
|
||||||
|
- Project: {{PROJECT_DIR}}
|
||||||
|
- Pipeline: {{PIPELINE_NAME}}
|
||||||
|
- Schedule: {{SCHEDULE}}
|
||||||
|
- Deployment: [target]
|
||||||
|
|
||||||
|
## Last Updated
|
||||||
|
|
||||||
|
[date — update this when you curate this file]
|
||||||
67
scripts/templates/memory/README.md
Normal file
67
scripts/templates/memory/README.md
Normal file
|
|
@ -0,0 +1,67 @@
|
||||||
|
# 3-Tier Memory System
|
||||||
|
|
||||||
|
Inspired by OpenClaw's proactive agent memory pattern. Three tiers serve
|
||||||
|
different purposes with different update frequencies.
|
||||||
|
|
||||||
|
## Architecture
|
||||||
|
|
||||||
|
```
|
||||||
|
Tier 1: SESSION-STATE.md (hot)
|
||||||
|
- Updated every turn
|
||||||
|
- Read FIRST on session start and compaction recovery
|
||||||
|
- Contains: current task, decisions, pending actions, working buffer
|
||||||
|
|
||||||
|
Tier 2: memory/YYYY-MM-DD.md (warm)
|
||||||
|
- One file per day, auto-rotated
|
||||||
|
- Updated at end of each pipeline run
|
||||||
|
- Contains: daily summary, decisions, files modified, issues, carry-forward
|
||||||
|
|
||||||
|
Tier 3: memory/MEMORY.md (cold)
|
||||||
|
- Updated manually or after significant learnings
|
||||||
|
- Read LAST during compaction recovery
|
||||||
|
- Contains: identity, curated learnings, patterns, known issues
|
||||||
|
```
|
||||||
|
|
||||||
|
## WAL Protocol (Write-Ahead Logging)
|
||||||
|
|
||||||
|
Before responding to the user with important information, write it to
|
||||||
|
SESSION-STATE.md first. This prevents data loss if:
|
||||||
|
- The session crashes mid-response
|
||||||
|
- Context compaction removes the exchange
|
||||||
|
- The user's connection drops
|
||||||
|
|
||||||
|
## Working Buffer Protocol
|
||||||
|
|
||||||
|
When context usage exceeds ~60% (the "danger zone"):
|
||||||
|
1. Activate the Working Buffer section in SESSION-STATE.md
|
||||||
|
2. Copy critical recent exchanges into the buffer
|
||||||
|
3. Extract and list key facts that would be lost on compaction
|
||||||
|
4. Continue working normally — the buffer is your safety net
|
||||||
|
|
||||||
|
## Compaction Recovery
|
||||||
|
|
||||||
|
When Claude resumes after context compaction, it reads in this order:
|
||||||
|
1. SESSION-STATE.md (current task, decisions, working buffer)
|
||||||
|
2. Today's daily log (what happened today)
|
||||||
|
3. MEMORY.md (long-term context, known issues)
|
||||||
|
4. Search older daily logs if needed for specific context
|
||||||
|
|
||||||
|
## Integration with Agent Factory
|
||||||
|
|
||||||
|
During `/agent-factory:build` Phase 2.5 (Memory Setup):
|
||||||
|
1. Copy these templates to the user's `memory/` directory
|
||||||
|
2. Replace `{{PLACEHOLDER}}` variables with project-specific values
|
||||||
|
3. Create the initial SESSION-STATE.md and MEMORY.md
|
||||||
|
4. Configure the pipeline skill to update daily logs after each run
|
||||||
|
|
||||||
|
## File locations after scaffolding
|
||||||
|
|
||||||
|
```
|
||||||
|
project/
|
||||||
|
memory/
|
||||||
|
SESSION-STATE.md (from Tier 1 template)
|
||||||
|
MEMORY.md (from Tier 3 template)
|
||||||
|
2026-04-11.md (generated daily, from Tier 2 template)
|
||||||
|
2026-04-12.md
|
||||||
|
...
|
||||||
|
```
|
||||||
53
scripts/templates/memory/SESSION-STATE.md
Normal file
53
scripts/templates/memory/SESSION-STATE.md
Normal file
|
|
@ -0,0 +1,53 @@
|
||||||
|
# Session State: {{AGENT_NAME}}
|
||||||
|
|
||||||
|
> Hot working memory. Updated every turn. Read first on resume.
|
||||||
|
|
||||||
|
## WAL Protocol
|
||||||
|
|
||||||
|
**Write important details HERE before responding to the user.**
|
||||||
|
This prevents data loss if the session crashes or context compacts mid-response.
|
||||||
|
|
||||||
|
## Current Task
|
||||||
|
|
||||||
|
- Task: [what you're working on right now]
|
||||||
|
- Started: [timestamp]
|
||||||
|
- Status: [in progress / blocked / waiting]
|
||||||
|
- Key decision: [the most important choice made this session]
|
||||||
|
|
||||||
|
## Context Window Usage
|
||||||
|
|
||||||
|
- Estimated usage: [low / medium / high / DANGER ZONE]
|
||||||
|
- If above 60%: activate Working Buffer below
|
||||||
|
|
||||||
|
## Active Decisions
|
||||||
|
|
||||||
|
| Decision | Choice | Reason | Reversible? |
|
||||||
|
|----------|--------|--------|-------------|
|
||||||
|
| | | | |
|
||||||
|
|
||||||
|
## Pending Actions
|
||||||
|
|
||||||
|
- [ ] [action 1]
|
||||||
|
- [ ] [action 2]
|
||||||
|
|
||||||
|
## Working Buffer
|
||||||
|
|
||||||
|
> Activate when context usage exceeds 60%. Capture key exchanges here
|
||||||
|
> before they are lost to compaction. This is your safety net.
|
||||||
|
|
||||||
|
### Recent exchanges to preserve
|
||||||
|
|
||||||
|
[Paste critical user messages and your key responses here when in the danger zone]
|
||||||
|
|
||||||
|
### Key facts from this session
|
||||||
|
|
||||||
|
[Extract and list facts that would be lost on compaction]
|
||||||
|
|
||||||
|
## Compaction Recovery
|
||||||
|
|
||||||
|
If you're reading this after a context compaction:
|
||||||
|
1. Read this SESSION-STATE.md first (you're here)
|
||||||
|
2. Read today's daily log: `memory/$(date +%Y-%m-%d).md`
|
||||||
|
3. Read memory/MEMORY.md for long-term context
|
||||||
|
4. Search daily logs for relevant prior context
|
||||||
|
5. Resume from the Current Task and Pending Actions above
|
||||||
Loading…
Add table
Add a link
Reference in a new issue