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 asStatementAspects in packages/types/src/graph/graph.entity.ts.
The 12 aspects
| Aspect | Captures | Example statement | Used for |
|---|---|---|---|
Identity | Who they are: role, location, affiliation (slow-changing) | “Manik works at Red Planet” | Role, company, background |
Knowledge | What they know: expertise, skills, understanding | ”Expert in TypeScript and React” | Skill level, technical depth |
Belief | Why they think that way: values, opinions, reasoning | ”Values simplicity over complexity in code” | Design and architectural reasoning |
Preference | How they want things: likes, dislikes, style choices | ”Prefers pnpm over npm” | Tooling, style, setup choices |
Habit | What they do regularly: recurring behaviors, routines | ”Reviews PRs every morning before standup” | Routines, recurring workflows |
Goal | What they want to achieve: future targets, aims | ”Launch MVP by Q2 2026” | Planning, prioritization |
Task | One-time commitments: follow-ups, promises, action items | ”Send the contract draft to Sarah by Friday” | Open action items, follow-ups |
Directive | Rules and automation: always do X, notify when Y, remind me to Z | ”Always run tests before creating a PR” | Enforced rules and triggers |
Decision | Choices made, conclusions reached | ”Chose Neo4j for graph storage because of traversal performance” | Past choices and their reasoning |
Event | Specific occurrences with timestamps | ”Started auth refactor on Jan 15, 2026” | Temporal queries |
Problem | Blockers, issues, challenges | ”Hit rate limits with GitHub API when syncing 50+ repos” | Debugging, constraint planning |
Relationship | Connections 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 theVOICE_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’sextractAspects() 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 doing | Aspects surfaced |
|---|---|
| Writing code | Preference, Directive, Knowledge |
| Code review | Preference, Directive |
| Architectural decision | Decision, Belief, Problem |
| Debugging | Problem, Knowledge, Decision |
| Planning features | Goal, Decision, Directive |
| Tracking follow-ups | Task, Directive, Goal |
| Explaining concepts | Knowledge, Identity |
