loom_memory_pin
Saves a standing fact as a pinned memory that later conflicting writes cannot evict, storing the newer fact beside it and ranking pinned rows ahead of unpinned ones in file context.
Instructions
WHAT: Save a standing fact and protect it. A pinned memory is never evicted by a later conflicting write: the newer fact is stored beside it and answers 409 PINNED_CONFLICT, and pinned rows rank ahead of unpinned ones in file context. Same arguments as memory.set; pinned is forced on. WHEN: The user marks a fact as permanent or asks for it to be kept explicitly: 'always remember X', 'never forget this', 'pin this', a hard constraint stated as standing ('I am allergic to penicillin', 'deploys freeze on Fridays', 'the prod DB is read-only'). WHEN NOT: An ordinary fact, preference or state — that is memory.set, the default for almost every save; a fact that must not change or be deleted at all (memory.lock); a topic that must not be remembered (blacklist.add, refused to a token bounded to one user). ARGS: memory_key, value; optional tags, ttl_seconds, on_expire. Server fills identity.
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": {
"memory_key": "<memory_key>",
"value": "<value>"
},
"name": "loom_memory_pin"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | ||
| files | No | ||
| value | Yes | ||
| run_id | No | ||
| dry_run | No | ||
| entities | No | ||
| proposed | No | ||
| valid_at | No | ||
| valid_to | No | ||
| namespace | No | ||
| on_expire | No | ||
| confidence | No | ||
| memory_key | Yes | ||
| memory_type | No | semantic | |
| sensitivity | No | ||
| ttl_seconds | No | ||
| clear_expiry | No | ||
| expire_reason | No | ||
| if_match_sha256 | No | ||
| source_resource_id | No |