tinyhumansai/openhuman · error

memory_vector_search: list chunks failed: {e}

Error message

memory_vector_search: list chunks failed: {e}

What it means

Listing candidate chunks from the memory store through the chunk-reader driver failed during `memory_vector_search`. The ChunkQuery (source_kind/time window, limit 1000) was built and issued, but the underlying store call errored — typically a database/module transport fault rather than a bad query, since the query shape is constructed internally. `{e}` carries the store-side error.

Source

Thrown at src/openhuman/memory/tools/search/vector_search.rs:179

        //
        // `None` for the scope is not "unrestricted": the guard intersects it
        // with the ambient per-turn allowlist and passes the result down, so
        // naming a scope here could only ever *narrow* what the turn may see.
        let query = ChunkQuery {
            source_kind,
            source_id: None,
            owner: None,
            since_ms,
            until_ms: None,
            limit: Some(1000),
            offset: None,
            exclude_dropped: false,
        };

        let chunks = chunk_reader
            .list_chunks(&query, None)
            .await
            .map_err(|e| anyhow::anyhow!("memory_vector_search: list chunks failed: {e}"))?;

        if chunks.is_empty() {
            return Ok(ToolResult::success("No chunks found matching filters."));
        }

        // Get embeddings for these chunks
        let chunk_ids: Vec<String> = chunks.iter().map(|c| c.id.clone()).collect();
        let model_sig = embedder.signature();
        let embeddings: std::collections::HashMap<String, Vec<f32>> = chunk_reader
            .chunk_embeddings(&chunk_ids, &model_sig)
            .await
            .map_err(|e| anyhow::anyhow!("memory_vector_search: load embeddings failed: {e}"))?
            .into_iter()
            .map(|embedding| (embedding.chunk_id, embedding.vector))
            .collect();

        // Score each chunk
        let mut scored: Vec<(usize, f64, &[f32])> = Vec::new();

View on GitHub (pinned to 7491200858)

Solutions

  1. Inspect `{e}` for the store or module transport error
  2. Retry — transient SQLite/module contention can cause this
  3. Check memory store health and workspace path integrity
  4. Relax filters (source_kind, time_window_days) that may scan excessive rows
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at src/openhuman/memory/tools/search/vector_search.rs:179 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of tinyhumansai/openhuman@7491200858 (2026-08-17). Data as JSON: /api/errors/940c2a1075d934b1. Report an issue: GitHub.