{"record":{"id":"5ed38f800f8fb825","repo":"tinyhumansai/openhuman","slug":"missing-required-parameter-entity-type","errorCode":null,"errorMessage":"Missing required parameter: entity_type","messagePattern":"Missing required parameter: entity_type","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/openhuman/search/tools/parallel.rs","lineNumber":986,"sourceCode":"                    \"type\": \"integer\",\n                    \"minimum\": 5,\n                    \"maximum\": 1000,\n                    \"description\": \"Max candidates to produce (default 10)\"\n                }\n            },\n            \"required\": [\"objective\", \"entity_type\", \"match_conditions\"]\n        })\n    }\n\n    async fn execute(&self, args: serde_json::Value) -> anyhow::Result<ToolResult> {\n        let objective = args\n            .get(\"objective\")\n            .and_then(|v| v.as_str())\n            .ok_or_else(|| anyhow::anyhow!(\"Missing required parameter: objective\"))?;\n        let entity_type = args\n            .get(\"entity_type\")\n            .and_then(|v| v.as_str())\n            .ok_or_else(|| anyhow::anyhow!(\"Missing required parameter: entity_type\"))?;\n        let match_conditions = args\n            .get(\"match_conditions\")\n            .and_then(|v| v.as_array())\n            .filter(|a| !a.is_empty())\n            .ok_or_else(|| anyhow::anyhow!(\"match_conditions must be a non-empty array\"))?;\n\n        let mut body = json!({\n            \"objective\": objective,\n            \"entityType\": entity_type,\n            \"matchConditions\": match_conditions,\n        });\n        if let Some(g) = args.get(\"generator\").and_then(|v| v.as_str()) {\n            body[\"generator\"] = json!(g);\n        }\n        if let Some(l) = args.get(\"match_limit\").and_then(|v| v.as_u64()) {\n            body[\"matchLimit\"] = json!(l.clamp(5, 1000));\n        }\n","sourceCodeStart":968,"sourceCodeEnd":1004,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/search/tools/parallel.rs#L968-L1004","documentation":"Argument-validation guard in the Parallel entity-resolution/find-entities tool's execute: 'entity_type' is absent or not a string. The schema requires [objective, entity_type, match_conditions]. This is one of three sequential guards; it fires on malformed model calls before any search is executed.","triggerScenarios":"Thrown at src/openhuman/search/tools/parallel.rs:986 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Retry with 'entity_type' as a non-empty string naming the kind of entity to find (e.g. \"company\", \"person\").","Confirm the objective and match_conditions parameters are also present per the required list.","If the entity type is free-form, any descriptive string is acceptable."],"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"}