tinyhumansai/openhuman · error · anyhow::Error

payload summarizer invoke_in_parent does not support file pr

Error message

payload summarizer invoke_in_parent does not support file prompt source: {path}

What it means

The payload summarizer's invoke_in_parent path received a file-based prompt source, which it does not support. This utility is deliberately narrow — it condenses one oversized tool payload within a tight token budget, builds its prompt directly (not via SystemPromptBuilder::from_dynamic), and intentionally excludes AGENTS.md layers; file prompt sources are out of scope and rejected rather than silently mis-summarized.

Source

Thrown at src/openhuman/agent/tinyagents/payload_summarizer.rs:381

            // AGENTS.md layers are intentionally excluded from the payload
            // summarizer. This is a narrow internal utility that condenses an
            // oversized tool payload into a summary — it does no project work in
            // the action directory, so standing project instructions are pure
            // noise here and would waste the tight token budget this summary
            // path is trying to reclaim. Unlike the user-facing agents it also
            // builds its dynamic prompt directly (not via
            // `SystemPromptBuilder::from_dynamic`), so it is deliberately outside
            // the AGENTS.md injection contract that the main + sub-agent prompt
            // paths honour.
            agents_md_global: None,
            agents_md_local: None,
        };

        let system_prompt = match &self.definition.system_prompt {
            PromptSource::Dynamic(build) => build(&prompt_ctx)?,
            PromptSource::Inline(prompt) => prompt.clone(),
            PromptSource::File { path } => {
                return Err(anyhow!(
                    "payload summarizer invoke_in_parent does not support file prompt source: {path}"
                ));
            }
        };
        Ok(subagent_runner::append_subagent_role_contract(
            system_prompt,
            &self.definition.id,
        ))
    }

    fn handle_summarizer_result(
        &self,
        tool_name: &str,
        raw: &str,
        started: std::time::Instant,
        outcome: Result<String>,
    ) -> Result<Option<SummarizedPayload>> {
        match outcome {

View on GitHub (pinned to 7491200858)

Solutions

  1. Pass an inline text prompt to the payload summarizer instead of a file path
  2. If file-sourced summarization is needed, read the file at the caller and submit its contents inline
  3. Extend the summarizer's parent-invoke surface deliberately if file sources become a real requirement
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at src/openhuman/agent/tinyagents/payload_summarizer.rs:381 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/b63642791359029e. Report an issue: GitHub.