Overview
Fourteen tools in four groups. The descriptions the agent sees are written so it knows when to reach for each; this page is the human version, with the flows spelled out.Memories
save_memory, recall_memory, read_passage, memory_historySource material
add_link, add_file, list_documentsDecisions
list_conflicts, resolve_conflict, list_possible_contradictions,
answer_possible_contradictionGraph vocabulary
related_entities, set_schema_entry_status, delete_schema_entryMemories
save_memory
Dedupes automatically and flags contradictions instead of overwriting. The response says which
happened: saved, merged, or saved with a conflict id.
recall_memory
Searches memories and documents together by meaning, exact words and entities. Exact identifiers
like file paths and error codes make excellent queries. Each result carries a title, the passage,
a similarity, provenance for chunks, and an
id. Only active memories come back.
Long passages truncate at 8k with a marker naming the escape hatch:
read_passage
id from a recall result. Exists for one flow: a result ended with the truncation marker and the
answer may be in the cut part. A markdown chunk can be a whole 16k heading section, so the tail is
always reachable.
memory_history
memoryId from a recall result. The full version chain, newest first.
Read-only. Editing a memory is a human action in the viewer or CLI.
Source material
Documents are citable source text, not memories. All three are versioned by content hash, so re-adding something unchanged is a cheap no-op rather than a duplicate.add_link
url. Saves a web page permanently as a document, returned by recall with the URL and section it
came from. The daemon fetches and parses it, so nothing reaches a third party. A page that only
renders in a browser, or sits behind a login, answers with the reason instead of a document.
add_file
path, absolute, on the machine running memloom. Markdown, text, PDF, audio and video. Recordings
are transcribed locally with timestamps, so a recalled line cites the moment it was said.
A linked file is then watched: edit it on disk and recall follows, with no
second call.
list_documents
filter matches a substring of title or path, limit defaults to 50. Use it to answer “is this
already in?” and to see what source material recall can draw on.
Decisions
list_conflicts, resolve_conflict
list_conflicts takes no parameters and shows each pending contradiction with its id.
The flow:
save_memory reports a contradiction with an id, list_conflicts shows what
clashes, the user picks, resolve_conflict applies it.
list_possible_contradictions, answer_possible_contradiction
Unconfirmed pairs the reconcile pass flagged. Each shows the id, a verbatim quote from both sides, the reason, and the similarity.
See reconciliation for what the pass costs.
Graph vocabulary
related_entities
For questions about connections rather than content, where recall would return prose the agent
still has to read. The target is matched exactly, so this is a graph lookup, not a second search.
A folded-away spelling resolves to its canonical and the answer says so: asking about
Bob
answers about Robert and reports they are the same.
Two groups come back separately: stated relationships the extractor asserted, and appears
together with, entities named by the same sources. An agent relaying the answer must not
present the second as the first. One was asserted, the other merely observed.
set_schema_entry_status, delete_schema_entry
Disabling stops future extraction using an entry; entities already extracted under it stay.
Deleting works only on a disabled entry you added: built-ins can only be disabled, and an
active entry must be disabled first. Refusals come back as an explanation, not an error.