Skip to main content
After each task session, ByteRover automatically extracts durable knowledge from the conversation and persists it as agent memories. These memories carry forward across sessions, helping the agent recall patterns, preferences, entities, decisions, and skills from past interactions.

Memory Categories

The agent extracts up to 3 memories per category (max 200 characters each):
CategoryWhat It CapturesExample
PatternsReusable code or workflow patterns”Used recon, extraction, curate workflow for auth module”
PreferencesUser style, naming, and structure decisions”Prefers functional components over class components”
EntitiesKey files, modules, APIs, and dependencies”src/auth is an actively curated module”
DecisionsArchitectural choices (immutable log)“Chose RS256 over HS256 for JWT signing”
SkillsTool invocation recipes that worked”Start curate with recon tool, then map-extract”

How Extraction Works

  1. Threshold — Extraction triggers after a session with at least 4 messages (1 for curate sessions). Short or trivial interactions are skipped.
  2. Serialization — The conversation is serialized into a text digest, truncated to 12,000 characters at a natural message boundary.
  3. LLM extraction — An LLM call identifies 0–3 memories per category from the digest.
  4. Fallback — For curate sessions, deterministic fallback drafts are generated from the curated file paths and module labels instead of using the LLM. This is faster, cheaper, and more consistent for routine curations.

Deduplication

Before storing, draft memories are compared against the 60 most recent agent memories. For each draft, the system decides:
ActionWhenEffect
CreateMemory is genuinely newStored as-is
MergeOverlaps with an existing memoryCombined with the existing entry
SkipAlready covered by existing memoryDiscarded
Decisions always use Create — they are treated as an immutable audit log. Curate-session fallback drafts use fast string-matching deduplication instead of an LLM call.

Storage

Extracted memories are stored as JSON blobs in the project’s .brv/ directory, tagged with source "agent". They persist across sessions and are available for future agent interactions — the agent can reference past patterns, honor stated preferences, and build on prior decisions without being told again.