Files
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

46 lines
3.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Tasks: Убрать Vikunja, задачи через Radicale VTODO
## 1. Переключить обработчик task на Radicale VTODO
- [x] 1.1 В чейндже `email-classification-handlers` обновить specs/design/tasks:
заменить «Vikunja API» на «Radicale CalDAV PUT VTODO» (календарь Задачи)
- [x] 1.2 Уточнить формат VTODO: SUMMARY=тема, DESCRIPTION=ссылка на email.md,
DTSTART/DUE при наличии даты из классификации
- [x] 1.3 Верификация: чейндж `email-classification-handlers` остаётся валидным
`Верификация: cd /opt/hermes/email-assistant && openspec validate email-classification-handlers`
## 2. Вывод Vikunja из эксплуатации
- [x] 2.1 Сделать бэкап данных Vikunja (если есть) перед удалением
(volume vikunja-db / postgres-дамп в backups/) — **НЕ НУЖЕН** (решение пользователя 2026-09-13)
- [x] 2.2 **Подтверждение пользователя на удаление** volume (данные Vikunja)
— получено: «бэкап не нужен, выполняй остальные пункты»
- [x] 2.3 Остановить и удалить контейнеры
`cd /opt/hermes/email-assistant/vikunja && docker compose down -v`
`Верификация: docker ps | grep -E 'vikunja|postgres' || echo 'Vikunja removed'`
- [x] 2.4 Удалить каталог `/opt/hermes/email-assistant/vikunja/` (compose, .env)
`Верификация: test ! -d /opt/hermes/email-assistant/vikunja`
- [x] 2.5 Убрать/закомментировать reverse proxy tasks.nixg.ru из Caddy,
если он настроен (Caddyfile на vps02) — закомментирован (строки 114-120), Caddy перезагружен
## 3. Обновить документацию и планы
- [x] 3.1 TODO.md: закрыть задачи Vikunja (2 «Vikunja развёрнут», 3 «Vikunja app»,
6 «Vikunja API»), пометить «не нужна» (сделано 2026-09-13)
- [x] 3.2 STATUS.md: убрать Vikunja из архитектуры, зафиксировать
«задачи = Radicale VTODO, календарь Задачи, jtx board/DAVx5» (сделано 2026-09-13)
- [x] 3.3 Обновить запись «Ресурсы проекта»: убрать Vikunja/tasks.nixg.ru,
добавить Radicale VTODO (сделано 2026-09-13)
- [x] 3.4 В чейндже `local-calendar-tasks` пометить Vikunja как не входящую
(или заархивировать его как superseded) — proposal помечен SUPERSEDED
## 4. Проверка end-to-end
- [x] 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
- [x] 4.2 Верифицировать, что Vikunja отсутствует и ничего не сломано
`docker ps | grep -i vikunja || echo OK` — контейнеров нет, порт 3456 свободен,
cal.nixg.ru работает (207)