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