3.2 KiB
Memory Vault Integration Model
Purpose
Define a project-agnostic interface for reading, creating, searching, and validating the canonical Markdown memory.
Obsidian is the current human-facing implementation, but the workspace should not depend on Obsidian-specific behavior for core memory maintenance.
Layers
Canonical Memory
The source of truth is plain Markdown under vault/.
Agents should edit canonical notes directly when precision matters because direct edits produce auditable diffs.
Memory Interface
Use scripts/memory/memory.sh for vault-level operations:
rootprints the configured memory rootread <path>reads a vault-relative notesearch <query> [folder]searches memorycreate <type> <slug> [title]creates a note in the canonical folder from the matching templatebase-query <base-name> [format]queries a structured view when supportedhealthchecks required files and optional navigation health
Tool Adapter
The current adapter is Obsidian CLI through scripts/obsidian/cli.sh.
If Obsidian CLI is unavailable or fails, scripts/memory/memory.sh falls back to direct Markdown operations unless AIW_MEMORY_BACKEND=obsidian is explicitly set.
Configuration
AIW_MEMORY_VAULT_DIR: canonical memory directory. Defaults to<workspace-root>/vault.AIW_MEMORY_BACKEND:auto,files, orobsidian. Defaults toauto.AIW_OBSIDIAN_VAULT_DIR: Obsidian-specific vault override, still supported by the adapter.AIW_OBSIDIAN_VAULT_NAME: Obsidian URI vault name override for URI wrappers.
Backend meanings:
auto: use Obsidian CLI when useful and available; otherwise use direct Markdown.files: force direct Markdown behavior.obsidian: require Obsidian CLI for supported operations and fail if unavailable.
Note Type Routing
The memory interface owns type-to-folder routing:
daily->vault/06-daily/work-item->vault/02-work-items/person->vault/04-people/decision->vault/05-decisions/system->vault/03-context/systems/workstream->vault/03-context/workstreams/meeting-note->vault/06-daily/
Templates live in vault/09-templates/.
This gives agents an automatic destination for new notes without coupling the rule to Obsidian.
Agent Rules
- Use the memory interface when creating new canonical notes from a known type.
- Use the memory interface for broad search, Base queries, and vault health checks.
- Edit Markdown directly for precise memory curation, corrections, and content updates.
- Do not treat Obsidian CLI failure as project context.
- Do not require Obsidian to be running for core workspace operation.
- Keep raw evidence outside
vault/; promote only curated memory.
Useful Obsidian CLI Operations
When available, Obsidian CLI improves human-facing memory workflows:
search:contextgives Obsidian-aware search context.create path=... template=...creates notes from templates.base:queryreads Bases as structured views.propertiesandproperty:*inspect or update metadata.unresolved,orphans,links,backlinks, andtagssupport vault health checks.
These are optional enhancements. The canonical memory remains Markdown.