tinyhumansai/openhuman · error

ingest_document: missing required field `title`

Error message

ingest_document: missing required field `title`

What it means

Field-level validation in the ingest_document tool's execute: the `title` argument is absent or not a string. The schema requires title, body and source_id; this is the first of the three sequential guards and fires before any memory write, so nothing was ingested.

Source

Thrown at src/openhuman/memory/query/ingest_document.rs:65

                    "type": "string",
                    "description": "Optional URL or pointer back to the original source."
                },
                "owner": {
                    "type": "string",
                    "description": "Optional account/user this content belongs to. Used for owner-scoped queries and attribution. Defaults to empty (unowned/agent-global)."
                }
            },
            "required": ["title", "body", "source_id"]
        })
    }

    async fn execute(&self, args: serde_json::Value) -> anyhow::Result<ToolResult> {
        log::debug!("[tool][memory_tree] ingest_document invoked");

        let title = args
            .get("title")
            .and_then(|v| v.as_str())
            .ok_or_else(|| anyhow::anyhow!("ingest_document: missing required field `title`"))?
            .to_string();
        let body = args
            .get("body")
            .and_then(|v| v.as_str())
            .ok_or_else(|| anyhow::anyhow!("ingest_document: missing required field `body`"))?
            .to_string();
        let source_id = args
            .get("source_id")
            .and_then(|v| v.as_str())
            .ok_or_else(|| anyhow::anyhow!("ingest_document: missing required field `source_id`"))?
            .trim()
            .to_string();
        let provider = args
            .get("provider")
            .and_then(|v| v.as_str())
            .unwrap_or("agent")
            .to_string();
        let source_ref = args

View on GitHub (pinned to 7491200858)

Solutions

  1. Include a non-empty "title" string for the document
  2. Verify the whole required set (title, body, source_id) is present
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at src/openhuman/memory/query/ingest_document.rs:65 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/6e8289b4ed727d29. Report an issue: GitHub.