tinyhumansai/openhuman · error

ingest_document: missing required field `body`

Error message

ingest_document: missing required field `body`

What it means

Field-level validation in the ingest_document tool's execute: the `body` argument is absent or not a string (title already validated). Schema requires title, body and source_id; fires before any memory write. Note that an empty-string body is currently accepted — only absence/wrong type triggers this.

Source

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

                    "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
            .get("source_ref")
            .and_then(|v| v.as_str())
            .map(|s| s.to_string());
        let owner = args
            .get("owner")

View on GitHub (pinned to 7491200858)

Solutions

  1. Include the document text as the "body" string
  2. Check for size truncation that dropped the body field
Defensive patterns

Strategy: validation

When it happens

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