save_memory
Save a durable memory the user owns.
memloom dedupes automatically and flags contradictions instead of overwriting. The response
says what happened: saved, merged into an existing memory, or saved WITH a conflict id that
the user should resolve. A conflict response is the start of the
conflict flow below.
recall_memory
Recall memories AND ingested context documents by meaning, ranked by hybrid retrieval (semantic, exact keyword, entity). Exact identifiers like file paths, config keys, or error codes make excellent queries.
Each result carries a title, the passage, when it was saved, a similarity score, provenance
for document chunks (file, section, PDF page), and an
id. Only active memories are
returned; superseded versions never appear.
Very long passages are truncated at 8k characters with a marker naming the escape hatch:
read_passage
The full text of one recall result, by theid shown with it.
Exists for exactly one flow: a recall result ended with the truncation marker and the answer
may be in the cut part. Works for memories and document chunks alike. A markdown chunk is a
whole heading section (up to 16k characters), so the tail of a big section is always
reachable even though recall injects at most 8k.
memory_history
Show how a memory changed over time: its full version chain, newest first, with the current version and every superseded one.
Read-only: editing memories is a human action in the viewer or CLI.
list_conflicts
List pending memory conflicts: contradictions the user has not resolved yet. No parameters. Each entry shows the conflict id, the new memory, and the existing memories it clashes with.resolve_conflict
Resolve a conflict the way the user decided. The agent relays the choice; it should not decide on its own.
Every resolution is reversible.
The full conflict flow:
save_memory reports “CONTRADICTS an existing memory” with a
conflict id, list_conflicts shows what clashes, the user picks an action, and
resolve_conflict applies it.
set_schema_entry_status
Enable or disable a graph schema entry (an entity type or predicate). A disabled entry stops being used by future extraction, but entities already extracted under it stay in the graph.delete_schema_entry
Permanently remove a DISABLED user-defined vocabulary entry from the graph schema.
Two guard rails, and the response explains any refusal instead of erroring: built-in entries
can only be disabled, never deleted, and an active entry must be disabled first with
set_schema_entry_status. Entities already extracted under the deleted type stay in the
graph.