g-memory cannot be exercised by the offline test suite
tests · found during Phase 2
g-memory is the one registered memory module the offline suite cannot drive, so it is excluded from the 11 × 4 memory-by-workflow matrix (2cc0d3c). It is also the module the upstream paper is named for.
It persists through langchain_chroma, which tasks/tests/conftest.py stubs with a MagicMock so the package can be imported without the heavy dependency. A MagicMock gets far enough to import and not far enough to run.
The exclusion is named rather than silent — test_contracts.py declares UNTESTABLE_OFFLINE = {"g-memory"} and test_the_memory_matrix_covers_every_registered_module fails if a module is added to module_map without either being covered or listed there. So this cannot quietly get worse.
Options.
- Add
chromadb to the dev group. It does not pull torch or the CUDA stack, so it is affordable — the CUDA-free dev environment is currently 26 packages and 89MB, and the constraint that matters is not pulling nvidia wheels. Cheapest, and gives real coverage.
- Put an interface in front of the vector store and use an in-memory implementation in tests. More work, but it is the DIP fix
GMemory wants anyway, and the module-split work splits that file into three regardless.
Do this before the G-Memory clustering fix (see the separate issue). That is a correctness change to code that has never once executed successfully, and the FINCH clustering call rewrite and bare-except narrowing are much safer with the module under test.
Migrated from docs/BACKLOG.md.
g-memorycannot be exercised by the offline test suitetests· found during Phase 2g-memoryis the one registered memory module the offline suite cannot drive, so it is excluded from the 11 × 4 memory-by-workflow matrix (2cc0d3c). It is also the module the upstream paper is named for.It persists through
langchain_chroma, whichtasks/tests/conftest.pystubs with aMagicMockso the package can be imported without the heavy dependency. AMagicMockgets far enough to import and not far enough to run.The exclusion is named rather than silent —
test_contracts.pydeclaresUNTESTABLE_OFFLINE = {"g-memory"}andtest_the_memory_matrix_covers_every_registered_modulefails if a module is added tomodule_mapwithout either being covered or listed there. So this cannot quietly get worse.Options.
chromadbto the dev group. It does not pull torch or the CUDA stack, so it is affordable — the CUDA-free dev environment is currently 26 packages and 89MB, and the constraint that matters is not pulling nvidia wheels. Cheapest, and gives real coverage.GMemorywants anyway, and the module-split work splits that file into three regardless.Do this before the G-Memory clustering fix (see the separate issue). That is a correctness change to code that has never once executed successfully, and the FINCH clustering call rewrite and bare-
exceptnarrowing are much safer with the module under test.Migrated from
docs/BACKLOG.md.