Docs/Concepts/Memory Types

Memory Types

HyperSpark Memory classifies information using a three-tier system: rings, domains, and categories. This structure enables intelligent organization and precise retrieval.

Memory Classification Hierarchy

Episodic
Semantic
Procedural
Memory Rings (Type)
work
finance
projects
...
context
Life Domains (14)
fact
preference
event
...
decision
Categories (15+)

Memory Rings

Memory rings represent the fundamental type of information being stored, inspired by how human memory works. Each ring captures a different aspect of knowledge.

Episodic

episodic

Events, interactions, and moments in time. What happened.

Examples
  • -"Meeting with John about Q4 planning"
  • -"User reported a bug in the login flow"
  • -"Celebrated team milestone yesterday"
Categories
interactioneventdecisionmilestoneobservation

Semantic

semantic

Facts, knowledge, and truths about the world. What is.

Examples
  • -"John is the CTO of Acme Corp"
  • -"The project deadline is March 15th"
  • -"User prefers dark mode"
Categories
factidentityattributerelationship_factbelief

Procedural

procedural

Patterns, preferences, and how things are done. How to.

Examples
  • -"Always CC the manager on important emails"
  • -"Prefers bullet points over paragraphs"
  • -"Deploy on Tuesdays after standup"
Categories
preferencehabitworkflowrulepattern

Life Domains

Domains classify memories by the area of life they relate to. This enables focused retrieval and context building for specific situations.

workWork

Job, career, workplace matters

financeFinance

Money, budgets, investments

projectsProjects

Active projects and initiatives

goalsGoals

Objectives and aspirations

Memory Categories

Categories provide granular classification within each ring. They help the AI understand what type of information is being stored and how to use it.

CategoryRingDescription
interactionepisodicConversation, meeting, call
eventepisodicSomething that happened
decisionepisodicChoice that was made
milestoneepisodicAchievement, completion
observationepisodicSomething noticed
factsemanticObjective truth
identitysemanticWho someone/something is
attributesemanticProperty or characteristic
relationship_factsemanticHow things relate
beliefsemanticHeld opinion or view
preferenceproceduralLike/dislike, choice tendency
habitproceduralRegular behavior
workflowproceduralHow to do something
ruleproceduralConstraint or requirement
patternproceduralObserved regularity
decision_traceepisodicFull decision with context
exception_grantedepisodicPolicy exception
precedent_setepisodicCreates precedent for future
policy_appliedepisodicStandard policy application

Usage Example

Filtering by memory type
// Recall only semantic facts about work
const result = await memory.recall({
  userId: 'user_123',
  query: 'project deadlines',
  filters: {
    rings: ['semantic'],
    domains: ['work', 'projects'],
    categories: ['fact', 'attribute']
  }
});

// Get context focused on specific domains
const context = await memory.getContext({
  userId: 'user_123',
  focus: ['work', 'projects'],
  maxTokens: 2000
});