Two tools with basic schemas and descriptions, but significant gaps in parameter documentation and error handling. ListDialogs and ListMessages both have descriptions (good), but parameter descriptions are entirely missing from the schema. No enum constraints on boolean flags. No output schema documentation. Error handling is minimal, ListMessages raises ValueError/TypeError with no recovery guidance. Tool names follow verb_noun pattern (list_*), which is correct. However, the schema quality is below baseline: parameters lack descriptions, and there's no guidance on what fields are returned or how to chain tools.
List available dialogs, chats and channels.
List messages in a given dialog, chat or channel. The messages are listed in order from newest to oldest. If `unread` is set to `True`, only unread messages will be listed. Once a message is read, it will not be listed again. If `limit` is set, only the last `limit` messages will be listed. If `unread` is set, the limit will be the minimum between the unread messages and the limit.
Parameter descriptions missing from all input schemas. LLMs cannot infer what 'unread', 'archived', 'ignore_pinned', 'limit' control without explicit descriptions. Rubric requires every parameter to have a description.
No output schema documented. ListMessages returns TextContent with message text, but LLMs don't know what fields to expect or how to chain results to other tools. Rubric requires documented return types for all A+ tools.
Error handling provides no recovery guidance. ListMessages raises ValueError('Channel not found: {args.dialog_id}') and TypeError with no suggestion for next steps. Rubric requires errors to tell the LLM what to do next.
Boolean parameters (unread, archived, ignore_pinned, limit) lack constraints or enum guidance. No indication of valid ranges for 'limit' (e.g., 1 - 1000). Rubric requires numeric bounds and enum constraints to prevent invalid LLM inputs.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | <=2025-11-25 | v2 |
No pagination or result-limiting guidance in descriptions. ListMessages defaults to limit=100, but description doesn't state this or explain pagination strategy. Rubric requires tools returning lists to document limits and pagination.