Files
email-assistant/openspec/changes/remove-vikunja-use-radicale-tasks/tasks.md
T
hermes 7550aff102 feat: классификация писем Qwen3:8b + обработчики (urgent→TG, task→VTODO, meeting→VEVENT)
- mail_archive.py: фикс вложений himalaya --dir → --downloads-dir; attachments/ только при has_attachment; идемпотентно
- email_classifier.py: Qwen3:8b (Ollama) → теги info/urgent/task/meeting в frontmatter email.md
- email_handlers.py: urgent→Telegram (Bot API+SOCKS5), task→Radicale VTODO, meeting→Radicale VEVENT; handled_* идемпотентность; --dry-run
- .gitignore: игнор *.env.bak*
- openspec: чейндж email-classification-handlers (в работе)
- STATUS/TODO/WALKTHROUGH: прогресс сессии, подводные камни Radicale (http.client, Depth:1, формат дат)
2026-09-13 20:35:58 +00:00

3.5 KiB
Raw Blame History

Tasks: Убрать Vikunja, задачи через Radicale VTODO

1. Переключить обработчик task на Radicale VTODO

  • 1.1 В чейндже email-classification-handlers обновить specs/design/tasks: заменить «Vikunja API» на «Radicale CalDAV PUT VTODO» (календарь Задачи)
  • 1.2 Уточнить формат VTODO: SUMMARY=тема, DESCRIPTION=ссылка на email.md, DTSTART/DUE при наличии даты из классификации
  • 1.3 Верификация: чейндж email-classification-handlers остаётся валидным Верификация: cd /opt/hermes/email-assistant && openspec validate email-classification-handlers

2. Вывод Vikunja из эксплуатации

  • 2.1 Сделать бэкап данных Vikunja (если есть) перед удалением (volume vikunja-db / postgres-дамп в backups/) — НЕ НУЖЕН (решение пользователя 2026-09-13)
  • 2.2 Подтверждение пользователя на удаление volume (данные Vikunja) — получено: «бэкап не нужен, выполняй остальные пункты»
  • 2.3 Остановить и удалить контейнеры cd /opt/hermes/email-assistant/vikunja && docker compose down -v Верификация: docker ps | grep -E 'vikunja|postgres' || echo 'Vikunja removed'
  • 2.4 Удалить каталог /opt/hermes/email-assistant/vikunja/ (compose, .env) Верификация: test ! -d /opt/hermes/email-assistant/vikunja
  • 2.5 Убрать/закомментировать reverse proxy tasks.nixg.ru из Caddy, если он настроен (Caddyfile на vps02) — закомментирован (строки 114-120), Caddy перезагружен

3. Обновить документацию и планы

  • 3.1 TODO.md: закрыть задачи Vikunja (2 «Vikunja развёрнут», 3 «Vikunja app», 6 «Vikunja API»), пометить «не нужна» (сделано 2026-09-13)
  • 3.2 STATUS.md: убрать Vikunja из архитектуры, зафиксировать «задачи = Radicale VTODO, календарь Задачи, jtx board/DAVx5» (сделано 2026-09-13)
  • 3.3 Обновить запись «Ресурсы проекта»: убрать Vikunja/tasks.nixg.ru, добавить Radicale VTODO (сделано 2026-09-13)
  • 3.4 В чейндже local-calendar-tasks пометить Vikunja как не входящую (или заархивировать его как superseded) — proposal помечен SUPERSEDED

4. Проверка end-to-end

  • 4.1 Создать тестовое письмо с тегом task → обработчик создаёт VTODO в Radicale (календарь Задачи) Верификация: curl -u estorozhenko:... -X PROPFIND -H 'Depth: 1' https://cal.nixg.ru/estorozhenko/<urlencoded Задачи>/ | grep -c 'VTODO\|ics' — тестовый VTODO test-vikunja-removal-2026 создан (PUT 201, GET 200) 2026-09-13
  • 4.2 Верифицировать, что Vikunja отсутствует и ничего не сломано docker ps | grep -i vikunja || echo OK — контейнеров нет, порт 3456 свободен, cal.nixg.ru работает (207)