Memory Tasks
Manage work-in-progress using Basic Memory's schema system. Tasks are just notes with type: Task — they live in the knowledge graph, validate against a schema, and survive context compaction.
When to Use
- Starting multi-step work (3+ steps, or anything that might outlast the context window)
- After compaction/restart — search for active tasks to resume
- Pre-compaction flush — update all active tasks with current state
- On demand — user asks to create, check, or manage tasks
Task Schema
Tasks use the BM schema system (SPEC-SCHEMA). The schema note lives at memory/schema/Task.md:
Creating a Task
When work qualifies, create a note in memory/tasks/YYYY-MM-DD-short-name.md:
Key Principles
- Steps are concrete and checkable — "Implement X in file Y", not "figure out stuff"
- Context is for post-amnesia resumption — Write it as if explaining to a smart person who knows nothing about what you've been doing
- Use observations for BM-queryable fields —
[status],[description],[assigned_to]etc. become searchable in the knowledge graph - Relations link to other entities —
parent_task [[Other Task]],related_to [[Some Note]]
Resuming After Compaction
On session start or after compaction:
-
Search for active tasks:
- Via BM:
search_notes("type:Task status:active")orsearch_notes("[status] active") - Via memory_search: query "active tasks" (composited search includes task scanning)
- Via BM:
-
Read the task note to get full context
-
Resume from
current_stepusing thecontextfield -
Update as you progress — increment
current_step, update context, check off steps
Updating Tasks
As work progresses, update the task note:
Update frontmatter too:
Completing Tasks
When done:
Add a brief summary of what was accomplished and any follow-up needed.
Pre-Compaction Flush
When a compaction event is imminent:
- Find all active tasks:
search_notes("type:Task status:active") - For each, update:
current_stepto reflect actual progresscontextwith everything needed to resume- Step checkboxes to show what's done
- This is critical — context not written down is context lost
Querying Tasks
With BM's schema system, tasks are fully queryable:
Guidelines
- One task per unit of work — Don't cram multiple projects into one task
- Externalize early — If you think "I should remember this", write it down NOW
- Context > steps — Steps tell you what to do; context tells you why and how
- Close finished tasks — Don't leave completed work as
active - Link related tasks — Use
parent_task [[X]]or relations to connect related work - Schema validation is your friend — Run
bm schema validate Taskperiodically to catch incomplete tasks

