{"record":{"id":"f4f940a370b11348","repo":"tinyhumansai/openhuman","slug":"missing-required-parameter-output-schema","errorCode":null,"errorMessage":"Missing required parameter: output_schema","messagePattern":"Missing required parameter: output_schema","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/openhuman/search/tools/parallel.rs","lineNumber":863,"sourceCode":"                    \"maximum\": 900,\n                    \"description\": \"Max time to wait (default 600)\"\n                }\n            },\n            \"required\": [\"input\", \"processor\", \"output_schema\"]\n        })\n    }\n\n    async fn execute(&self, args: serde_json::Value) -> anyhow::Result<ToolResult> {\n        let input = args\n            .get(\"input\")\n            .ok_or_else(|| anyhow::anyhow!(\"Missing required parameter: input\"))?;\n        let processor = args\n            .get(\"processor\")\n            .and_then(|v| v.as_str())\n            .ok_or_else(|| anyhow::anyhow!(\"Missing required parameter: processor\"))?;\n        let output_schema = args\n            .get(\"output_schema\")\n            .ok_or_else(|| anyhow::anyhow!(\"Missing required parameter: output_schema\"))?;\n\n        let mut body = json!({\n            \"input\": input,\n            \"processor\": processor,\n            \"outputSchema\": output_schema,\n        });\n        if let Some(t) = args.get(\"timeout_seconds\").and_then(|v| v.as_u64()) {\n            body[\"timeoutSeconds\"] = json!(t.clamp(10, 900));\n        }\n\n        tracing::info!(\"[parallel_enrich] processor={}\", processor);\n\n        match self\n            .client\n            .post::<EnrichResponse>(\"/agent-integrations/parallel/enrich\", &body)\n            .await\n        {\n            Ok(resp) => {","sourceCodeStart":845,"sourceCodeEnd":881,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/search/tools/parallel.rs#L845-L881","documentation":"Argument-validation guard in the Parallel structured-output task tool's execute: 'output_schema' is missing (args.get(\"output_schema\") yields None). This tool's schema extends the processor tool's required list to [input, processor, output_schema], because the tool exists to return schema-conformant structured output; without the schema the call is meaningless. Raised before dispatch, purely malformed-call signal.","triggerScenarios":"Thrown at src/openhuman/search/tools/parallel.rs:863 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Retry including 'output_schema' as a valid JSON Schema object describing the desired output.","Validate the schema itself (type: object with properties) before calling.","If unstructured output is acceptable, use the plain processor tool instead."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"749120085864ce16e0f273c7b86fac7740b39c5b","analyzedAt":"2026-08-17T21:21:45.363Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}