Files
fidelity-ai-workspace/scripts/memory/README.md

45 lines
2.1 KiB
Markdown

# Memory Scripts
This directory exposes a project-agnostic interface for canonical project knowledge.
The current implementation resolves the canonical Markdown directory from `profiles/<profile>/workspace.json` and can optionally delegate to the Obsidian CLI when it is available. The agent should depend on this memory interface, not on Obsidian-specific behavior, so the backing tool can be replaced later.
## Backend Model
- `AIW_PROJECT_PROFILE` selects the profile, defaulting to `fidelity` in this repository.
- `profiles/<profile>/workspace.json` defines the canonical Markdown project knowledge directory.
- `AIW_PROJECT_KNOWLEDGE_DIR` can override the resolved directory for local experiments.
- `AIW_MEMORY_BACKEND` defaults to `auto`.
- `auto` uses Obsidian CLI when it is useful and available, then falls back to direct Markdown operations.
- `files` forces direct Markdown operations.
- `obsidian` requires the Obsidian CLI for supported operations.
## Commands
```bash
bash scripts/memory/memory.sh root
bash scripts/memory/memory.sh read 01-current/current-work.md
bash scripts/memory/memory.sh search "PDIAP-15765"
bash scripts/memory/memory.sh create work-item pdiap-15999 "Example title"
bash scripts/memory/memory.sh base-query work-items
bash scripts/memory/memory.sh health
```
## Note Creation
`create` maps note types to canonical folders and templates:
- `daily` -> `06-daily/`
- `work-item` -> `02-work-items/`
- `person` -> `04-people/`
- `decision` -> `05-decisions/`
- `system` -> `03-context/systems/`
- `workstream` -> `03-context/workstreams/`
- `meeting-note` -> `06-daily/`
The template is resolved from `09-templates/<type>.md`. When Obsidian CLI is available, the script uses `obsidian create path=... template=...`. Otherwise it creates the file directly from the template and resolves the basic `{{title}}`, `{{date}}`, and `{{time}}` variables.
## Agent Rule
Use these scripts for project-knowledge operations such as creating notes, querying Bases, validating navigation health, and searching memory. For precise content edits, agents should still edit Markdown files directly so diffs remain auditable.