feat-vikunja-mcp #1
Loading…
Reference in a new issue
No description provided.
Delete branch "feat-vikunja-mcp"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
text.lstrip("-").isdigit() был истиной для «--7» и для юникодной «²», после чего int(text) падал ValueError. Тот ValueError не был классифицирован и до предыдущего коммита уходил в SDK строкой «invalid literal for int() with base 10: '--7'». Решение принимает сам int: разобралось — это id, не разобралось — ищем по названию. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>Без project список собирался обходом проектов, каждый сервер сортировал у себя, а склейка резалась по limit. Подпись «ещё N не показано: список обрезан по limit» читается как «первые N по вашей сортировке», а на деле это первые N первого проекта. Молчаливое усечение ТЗ §5 запрещает; усечение с ложным обещанием хуже молчаливого. Обход нескольких проектов теперь сводится в общий порядок по due_date, id, priority или title — тем полям, что объявляет описание инструмента. Направление не поддерживается намеренно: docs/API Vikunja.md фиксирует у GET /projects/{id}/tasks только сам параметр sort_by, синтаксиса направления там не замерено, поэтому «-priority» не разворачивается по догадке. Поле, которое свести нечем, оставляет порядок сервера — и клиент возвращает этот факт (TaskSweep.per_project_order), а инструмент печатает его строкой перед строкой об усечении. Один проект сервер сортирует целиком, там сводить нечего: его порядок не трогается. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>Комментарий проверен вживую: ответ на PUT /tasks/{id}/comments содержит id, разбор не падает, комментарий возвращается из GET. Это было единственное место, где код полагался на форму тела, которую никто не измерял, — замер дописан в docs/API Vikunja.md. Метка берётся существующая, а не заводится: она пережила бы пробную задачу и осталась бы в трекере навсегда. Если меток нет — честный пропуск. Проверки комментария и метки разделены: сначала они стояли в одном тесте, и отсутствие меток пропускало заодно проверку комментария — ровно ту, ради которой всё писалось. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>