What's wrong
MemgraphDocStatusStorage (integrations/lightrag-memgraph/src/lightrag_memgraph/docstatus_impl.py) doesn't implement 4 methods that lightrag-hku's DocStatusStorage base class now requires as abstract:
get_docs_by_ids
get_docs_by_statuses_page
get_full_docs_by_ids
resolve_doc_source_strict
This breaks LightRAG.__post_init__ (self.doc_status = self.doc_status_storage_cls(...)) at construction time with:
TypeError: Can't instantiate abstract class MemgraphDocStatusStorage with abstract methods get_docs_by_ids, get_docs_by_statuses_page, get_full_docs_by_ids, resolve_doc_source_strict
Reproduces on a clean main checkout (confirmed against commit 8235d6f), pinned lightrag-hku==1.5.5 in the committed lockfile -- not a local dependency-drift artifact. Any code path that constructs a real MemgraphLightRAGWrapper with full_memgraph_persistence=True (the default) hits this immediately, which currently means every real-LLM e2e test in unstructured2graph/lightrag-memgraph that exercises full Memgraph persistence is broken (test_e2e_lightrag.py's entire suite, at minimum).
Acceptance criteria
Related
Found while working on #249.
What's wrong
MemgraphDocStatusStorage(integrations/lightrag-memgraph/src/lightrag_memgraph/docstatus_impl.py) doesn't implement 4 methods thatlightrag-hku'sDocStatusStoragebase class now requires as abstract:get_docs_by_idsget_docs_by_statuses_pageget_full_docs_by_idsresolve_doc_source_strictThis breaks
LightRAG.__post_init__(self.doc_status = self.doc_status_storage_cls(...)) at construction time with:Reproduces on a clean
maincheckout (confirmed against commit 8235d6f), pinnedlightrag-hku==1.5.5in the committed lockfile -- not a local dependency-drift artifact. Any code path that constructs a realMemgraphLightRAGWrapperwithfull_memgraph_persistence=True(the default) hits this immediately, which currently means every real-LLM e2e test inunstructured2graph/lightrag-memgraphthat exercises full Memgraph persistence is broken (test_e2e_lightrag.py's entire suite, at minimum).Acceptance criteria
MemgraphDocStatusStorageperlightrag-hku's currentDocStatusStorageinterfaceunstructured2graph's real-LLM e2e suite (test_e2e_lightrag.py) passes again against a live Memgraphlightrag_memgraphstorage backends (KV, vector) have a similar gap against the currentlightrag-hkuabstract interface, since this one was only caught by chanceRelated
Found while working on #249.