🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

ACC Error Memory

by @impkind

Error pattern tracking for AI agents. Detects corrections, escalates recurring mistakes, learns mitigations. The 'something's off' detector from the AI Brain series.

Versionv1.0.0
Downloads1,693
Installs4
Stars⭐ 4
Comments2
TERMINAL
clawhub install acc-error-memory

πŸ“– About This Skill


name: acc-error-memory description: "Error pattern tracking for AI agents. Detects corrections, escalates recurring mistakes, learns mitigations. The 'something's off' detector from the AI Brain series." metadata: openclaw: emoji: "⚑" version: "1.0.0" author: "ImpKind" repo: "https://github.com/ImpKind/acc-error-memory" requires: os: ["darwin", "linux"] bins: ["python3", "jq"] tags: ["memory", "monitoring", "ai-brain", "error-detection"]

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 candidates
  • calibrate-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.json with empty patterns
  • Generate ACC_STATE.md for 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*

    πŸ’‘ Examples

    1. Install

    cd ~/.openclaw/workspace/skills/anterior-cingulate-memory
    ./install.sh --with-cron
    

    This will:

  • Create memory/acc-state.json with empty patterns
  • Generate ACC_STATE.md for 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

    βš™οΈ 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 candidates
  • calibrate-patterns.sh β€” Pattern calibration via LLM classification