Tido demonstrates solid tool design with clear naming (verb_noun pattern), comprehensive parameter descriptions, and structured output. All 8 tools have descriptions and input schemas. However, output schemas are not explicitly documented in the visible code, parameter constraints lack formal enum declarations in some cases, and error handling guidance is minimal. Tool names are action-oriented (todo_write, todo_list, todo_update, todo_delete, todo_add_note, todo_get_notes, todo_diff, ping), and descriptions are detailed (avg ~150 chars). Parameters are well-described with format hints (e.g., 'unix ms 数字串 或 RFC3339 字符串'), but lack explicit type constraints in JSON Schema. Composition is strong, tools are single-responsibility and chainable (e.g., todo_write returns IDs that todo_update accepts).
健康检查,返回 pong 与 tido 版本号
给 todo 追加一条留痕笔记(append-only)。不会触发 todo_diff(不动 todos.version)。
物理删除 todos(自动写 tombstone 让 todo_diff 能传播)。要么按 ids 删、要么按 scope 整批清;有实际删除时返回 cursor。
增量拉取自 since 起的所有变更(含 deletions tombstone)。next_cursor 用于下次调用,HasMore=true 时应继续拉。
拉取某 todo 的笔记,按时间升序,分页返回。
查询待办列表:默认只返回 active(pending+in_progress) compact 工作视图,并返回各状态 counts 与 cursor;查完成/取消/全部必须显式传 status=completed|cancelled|all,审计才用 view=full。
更新单条 todo 的可变字段(status/content/priority/difficulty/due_at);至少传一个字段。返回 cursor 和更新后的 compact item;不要更新后再全量 todo_list。
Output schemas not documented in visible code. While tools return structured data (compact items, cursor, counts), the response schema is not explicitly declared in tool definitions. LLMs cannot plan downstream calls without knowing what fields to expect.
Enum constraints not formally declared in JSON Schema. Parameters like 'status', 'priority', 'difficulty', 'view', 'sort' accept specific values but are defined as free-form strings. LLMs may hallucinate invalid values (e.g., 'status=archived' when only 'pending|in_progress|completed|cancelled' are valid).
Error handling lacks recovery guidance. No visible error responses that tell the LLM what to do next (e.g., 'Invalid status: got X, must be one of Y'). Agents cannot self-correct on validation failures.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2025-06-18+ | v2 |
批量写入待办:自动识别 markdown checklist / 纯文本,支持父子层级、优先级、难度、截止时间。返回新生成的短码 ids、cursor 和 compact items;不要写完后再全量 todo_list。
Destructive operations (todo_delete) lack confirmation/dry-run pattern. Agents can permanently delete todos without a safety gate. No visible support for confirmation_before_execute or dry-run mode.
Parameter relationships underdocumented. 'ids' and 'scope' in todo_delete are mutually exclusive, but this is stated only in description text, not enforced in schema. 'clear_due_at' and 'due_at' in todo_update are mutually exclusive but lack explicit constraint documentation.