tinyhumansai/openhuman · error · anyhow::Error

memory_chunk_context: memory driver does not support the chu

Error message

memory_chunk_context: memory driver does not support the chunk family

What it means

The bound driver's as_chunks() is None — chunk context requires the chunk family to fetch the target and its neighbours. Chunks are deliberately read through the bound driver, never by opening the store in-process.

Source

Thrown at src/openhuman/memory/tools/search/chunk_context.rs:85

                "memory_chunk_context: chunk_id cannot be empty"
            ));
        }

        let window = parsed.window.clamp(1, 5);

        log::debug!(
            "[tool][memory_chunk_context] chunk_id={} window={}",
            parsed.chunk_id,
            window,
        );

        // Chunks are read through the bound driver rather than by opening the
        // store in this process — see the note in `vector_search.rs`.
        let guard = active_memory_guard()
            .await
            .map_err(|e| anyhow::anyhow!("memory_chunk_context: {e}"))?;
        let chunk_reader = guard.as_chunks().ok_or_else(|| {
            anyhow::anyhow!("memory_chunk_context: memory driver does not support the chunk family")
        })?;

        // Look up the target chunk directly by ID
        let target = chunk_reader
            .get_chunk(&parsed.chunk_id)
            .await
            .map_err(|e| anyhow::anyhow!("memory_chunk_context: get_chunk failed: {e}"))?
            .ok_or_else(|| anyhow::anyhow!("memory_chunk_context: chunk_id not found"))?;

        let source_id = target.metadata.source_id.clone();
        let source_kind = target.metadata.source_kind;

        // Per-profile memory-source gate: if the target chunk belongs to a
        // source the active profile didn't allow, surface nothing (its window
        // shares the same source). Non-source chunks always pass.
        if !tinymemory_core::source_scope::chunk_source_allowed(&target.metadata.tags, &source_id) {
            return Ok(ToolResult::success(
                "Chunk is from a memory source not available to the active agent profile.",

View on GitHub (pinned to 7491200858)

Solutions

  1. Use a chunk-capable driver
  2. Check why the active driver lacks MemoryChunks
  3. Fall back to a plain memory search for context
Defensive patterns

Strategy: type-guard

When it happens

Trigger: Thrown at src/openhuman/memory/tools/search/chunk_context.rs:85 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/a366b7f0961b16ce. Report an issue: GitHub.