Context (boundary doc / decision). A reviewer mapping MemGraphRAG onto fathom will be tempted to bolt embeddings / cosine-similarity bridging / Personalized-PageRank into the engine. Fathom matching is exact/symbolic — no numpy/cosine/embedding/PPR anywhere; InMemoryFactStore._matches is exact slot-equality. The paper's detection-by-semantic-similarity, embedding-similarity bridging, and the entire PPR retrieval algorithm require numeric vector ops + graph structure fathom does not and should not host. This is a hard boundary worth documenting before someone violates the determinism/explainability charter.
Recommendation (document the boundary + the one viable seam).
- Fathom adjudicates (symbolic consistency/governance); an external vector/graph store does retrieval + similarity bridging + PPR.
- Reference recipe: caller
register_function('similar', fn) exposing a precomputed cosine-similarity predicate (name must avoid the reserved fathom- prefix), consulted via a standalone (test (similar ...)) CE.
- A vector/graph-backed
FactStore could implement the Protocol, but _matches would need a similarity-query extension — explicitly out-of-scope for the symbolic core.
Where.
src/fathom/engine.py register_function :720 (RESERVED_FUNCTION_PREFIX='fathom-' :44, _USER_FN_NAME_RE :53).
src/fathom/fleet.py FactStore Protocol :21 + InMemoryFactStore._matches :66 (exact-equality only).
src/fathom/models.py ConditionEntry.test :116 (raw-CLIPS escape hatch).
Acceptance criteria.
Why it matters. Cheap guardrail; the cost of not writing it is contributors attempting to bolt PPR/embeddings into the symbolic engine.
Source: arXiv:2606.00610v1 — "MemGraphRAG: Memory-based Multi-Agent System for Graph Retrieval-Augmented Generation". Distilled from arXiv-research/2606.00610v1/analysis.md; file refs verified against current main by the analysis pass.
Context (boundary doc / decision). A reviewer mapping MemGraphRAG onto fathom will be tempted to bolt embeddings / cosine-similarity bridging / Personalized-PageRank into the engine. Fathom matching is exact/symbolic — no numpy/cosine/embedding/PPR anywhere;
InMemoryFactStore._matchesis exact slot-equality. The paper's detection-by-semantic-similarity, embedding-similarity bridging, and the entire PPR retrieval algorithm require numeric vector ops + graph structure fathom does not and should not host. This is a hard boundary worth documenting before someone violates the determinism/explainability charter.Recommendation (document the boundary + the one viable seam).
register_function('similar', fn)exposing a precomputed cosine-similarity predicate (name must avoid the reservedfathom-prefix), consulted via a standalone(test (similar ...))CE.FactStorecould implement the Protocol, but_matcheswould need a similarity-query extension — explicitly out-of-scope for the symbolic core.Where.
src/fathom/engine.pyregister_function:720 (RESERVED_FUNCTION_PREFIX='fathom-':44,_USER_FN_NAME_RE:53).src/fathom/fleet.pyFactStoreProtocol :21 +InMemoryFactStore._matches:66 (exact-equality only).src/fathom/models.pyConditionEntry.test:116 (raw-CLIPS escape hatch).Acceptance criteria.
register_functionprecomputed-predicate recipe as the supported seam.Why it matters. Cheap guardrail; the cost of not writing it is contributors attempting to bolt PPR/embeddings into the symbolic engine.
Source: arXiv:2606.00610v1 — "MemGraphRAG: Memory-based Multi-Agent System for Graph Retrieval-Augmented Generation". Distilled from
arXiv-research/2606.00610v1/analysis.md; file refs verified against currentmainby the analysis pass.