save_memory
Create or update atomic project facts in SQLite, automatically superseding outdated entries and syncing Markdown scope exports.
Instructions
Create or supersede an atomic memory (<= 25 words) in SQLite and synchronize Markdown scope exports. Saving to an existing (scope, subject) slot or passing replaces_id automatically marks the prior active memory as 'superseded', while identical content is a safe idempotent no-op. Providing repo-relative anchor_files links the memory to Git push webhooks so commits touching those files automatically flag it [STALE]. Use save_memory to add or update facts and rules; use deprecate_memory to archive obsolete facts without replacement, revalidate_memories to clear [STALE] flags when facts remain valid, or distill_memories for bulk cleanup.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"scope": "<scope>",
"category": "<category>",
"content": "<content>"
},
"name": "save_memory"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| scope | Yes | Project, repository, or directory name (e.g., 'homelab', 'ticketera', 'global'). | |
| content | Yes | Atomic memory statement. STRICT LIMIT: MUST be <= 25 words. Omit filler words. | |
| subject | No | Deterministic slot key (e.g., 'app-port', 'db-stack'). Saving with an existing (scope, subject) automatically supersedes the old fact. | |
| category | Yes | Memory classification: 'rule' (guardrails), 'fact' (architecture/ports), 'preference' (style), 'episodic' (temporary 14d notes). | |
| replaces_id | No | Optional explicit memory ID to supersede. | |
| anchor_files | No | Repo-relative file paths (e.g., ['docker-compose.yml']). Git commits touching these files auto-flag this memory as [STALE]. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |