{"record":{"id":"794bbaea82835638","repo":"zeroclaw-labs/zeroclaw","slug":"entry-path-field-name-field-index-must-be-a","errorCode":null,"errorMessage":"{entry_path}.{field_name}[{field_index}] must be a non-empty exact argument name without surrounding whitespace","messagePattern":"(.+?)\\.(.+?)\\[(.+?)\\] must be a non-empty exact argument name without surrounding whitespace","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/zeroclaw-config/src/schema.rs","lineNumber":15493,"sourceCode":"    /// homeserver, so it stays required rather than gaining one. Every other\n    /// field either declares a serde default or is an `Option`, so this is\n    /// the minimal object that makes the deserialize total; those defaults\n    /// stay the only source of truth for everything but `homeserver`.\n    fn default() -> Self {\n        serde_json::from_str(r#\"{\"homeserver\":\"\"}\"#)\n            .expect(\"every other MatrixConfig field declares a serde default or is Option\")\n    }\n}\n\nfn validate_stream_tool_argument_names<'a>(\n    entry_path: &str,\n    field_name: &str,\n    fields: &'a [String],\n) -> Result<std::collections::HashSet<&'a str>> {\n    let mut names = std::collections::HashSet::new();\n    for (field_index, field) in fields.iter().enumerate() {\n        if field.is_empty() || field.trim() != field {\n            anyhow::bail!(\n                \"{entry_path}.{field_name}[{field_index}] must be a non-empty exact argument name without surrounding whitespace\"\n            );\n        }\n        if !names.insert(field.as_str()) {\n            anyhow::bail!(\"{entry_path}.{field_name} contains duplicate argument '{field}'\");\n        }\n    }\n    Ok(names)\n}\n\nimpl MatrixConfig {\n    /// Effective UTF-8 body budget for Matrix single-message streaming.\n    ///\n    /// A serialized Matrix event has fixed JSON, message, and relation\n    /// overhead in addition to UTF-8 source text. Keeping this floor avoids\n    /// accepting a budget that cannot contain even a one-scalar event.\n    pub fn effective_message_max_bytes(&self) -> usize {\n        self.message_max_bytes.max(MATRIX_MIN_MESSAGE_MAX_BYTES)","sourceCodeStart":15475,"sourceCodeEnd":15511,"githubUrl":"https://github.com/zeroclaw-labs/zeroclaw/blob/88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc/crates/zeroclaw-config/src/schema.rs#L15475-L15511","documentation":"Error \"{entry_path}.{field_name}[{field_index}] must be a non-empty exact argument name without surrounding whitespace\" thrown in zeroclaw-labs/zeroclaw.","triggerScenarios":"Thrown at crates/zeroclaw-config/src/schema.rs:15493 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use a non-empty argument name with no surrounding whitespace for the entry field."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"88bb9c8533fc57ed7a03e36ca7c9ed2bf8336dcc","analyzedAt":"2026-08-23T01:07:41.857Z","schemaVersion":2},"datasetVersion":"2026-08-23T08:06:27.607Z"}