diff --git a/mempalace/hallways.py b/mempalace/hallways.py index be3fe85..9bee6c6 100644 --- a/mempalace/hallways.py +++ b/mempalace/hallways.py @@ -179,7 +179,12 @@ def compute_hallways_for_wing( Args: wing: wing name to scan. - col: ChromaDB collection — must support ``.get(where=..., include=...)``. + col: ChromaDB collection — must support ``.count()`` and paginated + ``.get(limit=..., offset=..., include=...)``. The fetch is filtered + to ``wing`` client-side rather than via ``.get(where={"wing": ...})``, + which binds one SQL variable per matched id and overflows SQLite's + ``SQLITE_MAX_VARIABLE_NUMBER`` on large wings (#1619). Fake + collections and alternate backends must implement this shape. If ``None``, returns ``[]`` (caller didn't supply a backing store, so nothing to compute against). Tests pass a controlled MagicMock.