Files
boocode/openspec/changes/memory-context/design.md
indifferentketchup c935687725 chore(openspec): drop 9 superseded proposals + 11 stub archive files
Drop 9 batch proposals that are superseded by the boocode-lift-analysis
(boocontext-audit, conductor upgrades, self-healing/verify-gate skills):
add-3tier-memory, import-llm-evaluator, import-pregel-engine, plugin-platform,
conductor-evolution, code-intelligence-upgrade, dev-workflow, ui-overhaul,
agent-reliability.

Delete 11 stub archive files (49-66B each, 'Status: Shipped. Archived.' only)
that provide zero documentation value over the existing CHANGELOG.md + git tags.
2026-06-07 22:15:38 +00:00

1.6 KiB

Context

BooCode agents are stateless — they lose all context between sessions. The 3-tier memory architecture (Context→Daily→Core) provides structured persistence. Context compression reduces token waste. Boulder state enables work tracking across sessions. System Context provides typed context lifecycle management.

Goals / Non-Goals

Goals:

  • Cross-session agent memory via 3-tier architecture
  • Token-efficient context window management via summarization + compression
  • Work-in-progress persistence across sessions via boulder state
  • Typed context sources with epoch baselines

Non-Goals:

  • Distributed memory storage (single-user SQLite is sufficient)
  • Real-time memory syncing across users

Decisions

  • Embedding strategy: Use OpenAI text-embedding-3-small via BooCode's existing provider. Store as BLOB in SQLite.
  • Vector search: In-process cosine similarity (mathjs) — no external vector DB needed
  • FTS5: SQLite FTS5 for keyword search with trigram tokenizer for CJK support
  • Memory tiers: ContextTier (in-memory, per-session, LRU) → DailyTier (files, ~30-90 days) → CoreTier (SQLite, permanent)
  • Deep Dream: Background cron job (configurable). Uses LLM (configured model) for consolidation
  • Boulder state: Stored in Postgres plans table as JSONB. Auto-resume on session start.
  • Context compression: DCP-style. Range dedup (remove duplicate messages), purge errors (remove redundant error messages), turn protection (keep turn boundaries intact).
  • SWR caching: In-memory Map with TTU-based revalidation. Cache key = (tool, params hash). Invalidate on project switch.