Anterior Cingulate Memory ⚡
Conflict detection and error monitoring for AI agents. Part of the AI Brain series.
The anterior cingulate cortex (ACC) monitors for errors and conflicts. This skill gives your AI agent the ability to learn from mistakes — tracking error patterns over time and becoming more careful in contexts where it historically fails.
The Problem
AI agents make mistakes:
- Misunderstand user intent
- Give wrong information
- Use the wrong tone
- Miss context from earlier in conversation
Without tracking, the same mistakes repeat. The ACC detects and logs these errors, building awareness that persists across sessions.
The Solution
Track error patterns with:
- Pattern detection — recurring error types get escalated
- Severity levels — normal (1x), warning (2x), critical (3+)
- Resolution tracking — patterns clear after 30+ days
- Watermark system — incremental processing, no re-analysis
Configuration
ACC_MODELS (Model Agnostic)
The LLM screening and calibration scripts are model-agnostic. Set ACC_MODELS to use any CLI-accessible model:
# Default (Anthropic Claude via CLI)
export ACC_MODELS="claude --model haiku -p,claude --model sonnet -p"
# Ollama (local)
export ACC_MODELS="ollama run llama3,ollama run mistral"
# OpenAI
export ACC_MODELS="openai chat -m gpt-4o-mini,openai chat -m gpt-4o"
# Single model (no fallback)
export ACC_MODELS="claude --model haiku -p"
Format: Comma-separated CLI commands. Each command is invoked with the prompt appended as the final argument. Models are tried in order — if the first fails/times out (45s), the next is used as fallback.
Scripts that use ACC_MODELS:
haiku-screen.sh— LLM confirmation of regex-filtered error candidatescalibrate-patterns.sh— Pattern calibration via LLM classification
Quick Start
1. Install
cd ~/.openclaw/workspace/skills/anterior-cingulate-memory
./install.sh --with-cron
This will:
- Create
memory/acc-state.jsonwith empty patterns - Generate
ACC_STATE.mdfor session context - Set up cron for analysis 3x daily (4 AM, 12 PM, 8 PM)
2. Check current state
./scripts/load-state.sh
# ⚡ ACC State Loaded:
# Active patterns: 2
# - tone_mismatch: 2x (warning)
# - missed_context: 1x (normal)
3. Manual error logging
./scripts/log-error.sh \
--pattern "factual_error" \
--context "Stated Python 3.9 was latest when it's 3.12" \
--mitigation "Always web search for version numbers"
4. Check for resolved patterns
./scripts/resolve-check.sh
# Checks patterns not seen in 30+ days
Scripts
| Script | Purpose |
|---|---|
preprocess-errors.sh | Extract user+assistant exchanges since watermark |
encode-pipeline.sh | Run full preprocessing pipeline |
log-error.sh | Log an error with pattern, context, mitigation |
load-state.sh | Human-readable state for session context |
resolve-check.sh | Check for patterns ready to resolve (30+ days) |
update-watermark.sh | Update processing watermark |
sync-state.sh | Generate ACC_STATE.md from acc-state.json |
log-event.sh | Log events for brain analytics |
How It Works
1. Preprocessing Pipeline
The encode-pipeline.sh extracts exchanges from session transcripts:
./scripts/encode-pipeline.sh --no-spawn
# ⚡ ACC Encode Pipeline
# Step 1: Extracting exchanges...
# Found 47 exchanges to analyze
Output: pending-errors.json with user+assistant pairs:
[
{
"assistant_text": "The latest Python version is 3.9",
"user_text": "Actually it's 3.12 now",
"timestamp": "2026-02-11T10:00:00Z"
}
]
2. Error Analysis (via Cron Agent)
An LLM (configured via ACC_MODELS) analyzes each exchange for:
- Direct corrections ("no", "wrong", "that's not right")
- Implicit corrections ("actually...", "I meant...")
- Frustration signals ("you're not understanding")
- User confusion caused by the agent
3. Pattern Tracking
Errors are logged with pattern names:
./scripts/log-error.sh --pattern "factual_error" --context "..." --mitigation "..."
Patterns escalate with repetition:
- 1x → normal (noted)
- 2x → warning (watch for this)
- 3+ → critical (actively avoid!)
4. Resolution
Patterns not seen for 30+ days move to resolved:
./scripts/resolve-check.sh
# ✓ Resolved: version_numbers (32 days clear)
Cron Schedule
Default: 3x daily for faster feedback loop
# Add to cron
openclaw cron add --name acc-analysis \
--cron "0 4,12,20 * * *" \
--session isolated \
--agent-turn "Run ACC analysis pipeline..."
State File Format
{
"version": "2.0",
"lastUpdated": "2026-02-11T12:00:00Z",
"activePatterns": {
"factual_error": {
"count": 3,
"severity": "critical",
"firstSeen": "2026-02-01T10:00:00Z",
"lastSeen": "2026-02-10T15:00:00Z",
"context": "Stated outdated version numbers",
"mitigation": "Always verify versions with web search"
}
},
"resolved": {
"tone_mismatch": {
"count": 2,
"resolvedAt": "2026-02-11T04:00:00Z",
"daysClear": 32
}
},
"stats": {
"totalErrorsLogged": 15
}
}
Event Logging
Track ACC activity over time:
./scripts/log-event.sh analysis errors_found=2 patterns_active=3 patterns_resolved=1
Events append to ~/.openclaw/workspace/memory/brain-events.jsonl:
{"ts":"2026-02-11T12:00:00Z","type":"acc","event":"analysis","errors_found":2,"patterns_active":3}
Integration with OpenClaw
Add to session startup (AGENTS.md)
## Every Session
1. Load hippocampus: `./scripts/load-core.sh`
2. Load emotional state: `./scripts/load-emotion.sh`
3. **Load error patterns:** `~/.openclaw/workspace/skills/anterior-cingulate-memory/scripts/load-state.sh`
Behavior Guidelines
When you see patterns in ACC state:
- 🔴 Critical (3+) — actively verify before responding in this area
- ⚠️ Warning (2x) — be extra careful
- ✅ Resolved — lesson learned, don't repeat
Future: Amygdala Integration
Planned: Connect ACC to amygdala so errors affect emotional state:
- Errors → lower valence, higher alertness
- Clean runs → maintain positive state
- Pattern resolution → sense of accomplishment
AI Brain Series
| Part | Function | Status |
|---|---|---|
| hippocampus | Memory formation, decay, reinforcement | ✅ Live |
| amygdala-memory | Emotional processing | ✅ Live |
| vta-memory | Reward and motivation | ✅ Live |
| anterior-cingulate-memory | Conflict detection, error monitoring | ✅ Live |
| basal-ganglia-memory | Habit formation | 🚧 Development |
| insula-memory | Internal state awareness | 🚧 Development |
Philosophy
The ACC in the human brain creates that "something's off" feeling — the pre-conscious awareness that you've made an error. This skill gives AI agents a similar capability: persistent awareness of mistake patterns that influences future behavior.
Mistakes aren't failures. They're data. The ACC turns that data into learning.
Built with ⚡ by the OpenClaw community