tinyhumansai/openhuman · error

source not found: {sid}

Error message

source not found: {sid}

What it means

memory_diff with a source_id argument: the requested source id does not exist among the configured/enabled memory sources, so there is no diff to compute. Distinguished from checkpoint diff, which is tried first.

Source

Thrown at src/openhuman/memory/tools/diff.rs:111

        let config = config_rpc::load_config_with_timeout()
            .await
            .map_err(|e| anyhow::anyhow!(e))?;

        if let Some(ckpt_id) = checkpoint_id {
            debug!("[memory_diff][tool] branch=checkpoint_diff checkpoint_id={ckpt_id}");
            let diff = ops::diff_since_checkpoint(ckpt_id, &config, include_text_diff)
                .await
                .map_err(|e| anyhow::anyhow!(e))?;
            let md = format_cross_source_diff(&diff);
            return Ok(ToolResult::success(md));
        }

        if let Some(sid) = source_id {
            debug!("[memory_diff][tool] branch=source_diff source_id={sid}");
            let source = tinymemory_core::sources::get_source(sid)
                .await
                .map_err(|e| anyhow::anyhow!(e))?
                .ok_or_else(|| anyhow::anyhow!("source not found: {sid}"))?;

            let diff = if since_read {
                ops::diff_since_read(&source, &config, include_text_diff, commit)
                    .await
                    .map_err(|e| anyhow::anyhow!(e))?
            } else {
                ops::diff_since_last(&source, &config, include_text_diff)
                    .await
                    .map_err(|e| anyhow::anyhow!(e))?
            };
            let md = format_diff_result(&diff);
            return Ok(ToolResult::success(md));
        }

        debug!("[memory_diff][tool] branch=list_sources");
        // No source_id or checkpoint_id: list sources with snapshot counts
        let sources = tinymemory_core::sources::list_sources()
            .await

View on GitHub (pinned to 7491200858)

Solutions

  1. List memory sources and use an exact, enabled source id
  2. Enable the disabled source in config before diffing
  3. Check for typos in the source id
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at src/openhuman/memory/tools/diff.rs:111 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/0d106ebc82c57566. Report an issue: GitHub.