Skip to content

v3.3.0 — Memory System Overhaul: Proactive Injection & Collective Memory

Latest

Choose a tag to compare

@ckaraca ckaraca released this 09 Mar 12:10
· 18 commits to main since this release

What's New

Memory System Phase 3 & 4: Proactive Injection + Collective Memory

This release completes the 4-phase memory system overhaul, transforming memory from a passive search archive into an active context-recovery system.

Phase 3: Proactive Injection

  • GET /api/memory/resume — New endpoint that runs parallel searches across procedures, longterm, and shocks rings and returns a compact <memory-context> brief ready for session-start injection
  • Context brief is injected automatically at session start via the pluggedin-plugin hooks
  • Pre-tool-use warnings surface relevant procedures before high-risk operations (migrations, git push, rm -rf, kubectl, docker)

Phase 4: Collective Memory (CBP) Cron

  • scripts/setup-memory-cron.sh — Install script for 3 memory maintenance cron jobs:
    • Every 15 min: classify fresh observations into memory rings via LLM analytics agent
    • Daily 3am: promote individual memories to collective gut patterns (CBP)
    • Daily 4am: decay engine, cleanup forgotten memories and expired sessions

Server-Side PII Scrubbing

  • Layer 2 defence: addObservation() now strips PII via stripPII() before any DB write
  • Complements the hook-side Python scrubber (Layer 1)

Security Fixes

  • resume endpoint: generic error response in catch block (no internal details leaked)
  • resume endpoint: </memory-context> stripped from memory content to prevent prompt injection
  • setup-memory-cron.sh: CRON_SECRET/BASE_URL validated for unsafe shell metacharacters
  • Fixed BASE_URL referenced before assignment (set -u would abort the script)
  • Fixed %{http_code} unescaped in crontab entries (% = newline in cron)
  • Fixed curl -o truncating log file on every run (changed to -o /dev/null)

Bug Fixes

  • Memory search failures now logged server-side instead of silently ignored
  • Added success: false to 429 responses for consistent error envelope
  • Extracted formatSnippet() helper to centralize content sanitization and truncation

Full Changelog

v3.2.0...v3.3.0