Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.getcore.me/llms.txt

Use this file to discover all available pages before exploring further.

What aspects are

Aspects are a closed enum that classifies every fact stored in CORE memory. The search router uses them to filter results: a query is mapped to one or more aspects, and only statements tagged with those aspects are returned. The full set is defined as StatementAspects in packages/types/src/graph/graph.entity.ts.

The 12 aspects

AspectCapturesExample statementUsed for
IdentityWho they are: role, location, affiliation (slow-changing)“Manik works at Red Planet”Role, company, background
KnowledgeWhat they know: expertise, skills, understanding”Expert in TypeScript and React”Skill level, technical depth
BeliefWhy they think that way: values, opinions, reasoning”Values simplicity over complexity in code”Design and architectural reasoning
PreferenceHow they want things: likes, dislikes, style choices”Prefers pnpm over npm”Tooling, style, setup choices
HabitWhat they do regularly: recurring behaviors, routines”Reviews PRs every morning before standup”Routines, recurring workflows
GoalWhat they want to achieve: future targets, aims”Launch MVP by Q2 2026”Planning, prioritization
TaskOne-time commitments: follow-ups, promises, action items”Send the contract draft to Sarah by Friday”Open action items, follow-ups
DirectiveRules and automation: always do X, notify when Y, remind me to Z”Always run tests before creating a PR”Enforced rules and triggers
DecisionChoices made, conclusions reached”Chose Neo4j for graph storage because of traversal performance”Past choices and their reasoning
EventSpecific occurrences with timestamps”Started auth refactor on Jan 15, 2026”Temporal queries
ProblemBlockers, issues, challenges”Hit rate limits with GitHub API when syncing 50+ repos”Debugging, constraint planning
RelationshipConnections between people”Works with Sarah on CORE project”Team and collaborator graph

Voice aspects vs graph aspects

The 12 aspects are split into two storage paths, defined by the VOICE_ASPECTS subset in packages/types/src/graph/graph.entity.ts. Voice aspects (Directive, Preference, Habit, Belief, Goal, Task) represent the user’s voice. They are stored as complete, non-decomposed statements in the Aspects Store. Queries scoped to these aspects return whole statements as written. The other six (Identity, Knowledge, Decision, Event, Problem, Relationship) are graph aspects. They are decomposed into atomic subject, predicate, object triples in Neo4j. Queries scoped to these aspects return triples rather than full statements.

How aspects route searches

The router’s extractAspects() function classifies an incoming query and returns aspects: string[], where each value is one of the 12 enum strings above. The aspect_query handler then scopes its graph traversal by those aspects plus any matched labels. Agents calling memory_search do not pass aspects directly: classification is performed internally by the router and handlers.

Aspect combinations by task

What the agent is doingAspects surfaced
Writing codePreference, Directive, Knowledge
Code reviewPreference, Directive
Architectural decisionDecision, Belief, Problem
DebuggingProblem, Knowledge, Decision
Planning featuresGoal, Decision, Directive
Tracking follow-upsTask, Directive, Goal
Explaining conceptsKnowledge, Identity