gitlab_documentation_search tool fails with 'title' None error when matched documents have null title metadata
### Summary The `gitlab_documentation_search` tool (used by GitLab Duo agents) intermittently fails with the error: `ToolException: Unexpected error executing tool gitlab_documentation_search: 'title' None ` The failure appears to be caused by documentation pages in the search index that have a `None`/null `title` field. When the tool's result serialization attempts to access the `title` attribute on these results, it raises an unhandled exception instead of returning results gracefully. ### Reproduction The following queries consistently fail: | Query | Result | |-------|--------| | `PostgreSQL version requirements` | ❌ `'title' None` | | `upgrade notes GitLab 18` | ❌ `'title' None` | The following queries succeed (for comparison): | Query | Result | |-------|--------| | `AI Gateway installation` | ✅ Returns results | | `Gitaly configuration` | ✅ Returns results | | `Sidekiq troubleshooting` | ✅ Returns results | | `GitLab Runner executor types` | ✅ Returns results | All successful results return documents with populated `source_title` fields. The failing queries likely match documents where the title metadata is missing or null in the index. ### Expected behavior The tool should return search results even when matched documents have a null or missing `title` field. A reasonable fallback would be to substitute an empty string, the `source_url`, or a placeholder like `"(untitled)"`. ### Actual behavior The tool raises an unhandled `ToolException` and returns no results. The entire query fails, not just the individual result with the missing title. ### Impact This affects GitLab Duo custom agents that rely on `gitlab_documentation_search` for retrieving official documentation. When the tool fails, agents must fall back to slower methods (`get_repository_file` with branch-specific refs, `gitlab_blob_search`), which increases response latency and requires knowing the exact file paths in advance. Queries about PostgreSQL requirements and upgrade notes are common in support contexts, so this failure pattern has a disproportionate impact on support-related agent workflows. ### Environment * Observed via GitLab Duo custom agent tooling (April 2026) * Tool: `gitlab_documentation_search` * No specific GitLab version dependency; this is a tool/backend issue
issue