mirror of
https://gitverse.ru/kpa39l/email-assistant.git
synced 2026-09-29 09:15:09 +00:00
9.1 KiB
9.1 KiB
TODO — Email Assistant
Формат: | дата | задача | статус | закрыта в |
2026-07 (Фазы 1–1.5)
| Дата | Задача | Статус | Закрыта в |
|---|---|---|---|
| 2026-07-16 | Фаза 0.5: рефакторинг формата — meta.json+body.md → email.md (YAML-frontmatter) | ✅ закрыта | STATUS.md |
| 2026-07-16 | Фаза 1: локальный архив (INBOX 585, Sent 515, Отправленные 510, Archive 373) | ✅ закрыта | STATUS.md |
| 2026-07-16 | Фаза 1.5: mail_index.py (SQLite FTS5) + sqlite_search.py + digest.py | ✅ закрыта | STATUS.md |
2026-07-19
| Дата | Задача | Статус | Закрыта в |
|---|---|---|---|
| 2026-07-19 | Фаза 1.6: Contacts Extractor (LLM-подписи → contacts.json/vcf) | 🔵 в работе | |
| 2026-07-19 | clean_body — вырезание цитируемой переписки (Outlook/forward) | ✅ закрыта | STATUS.md контекст |
| 2026-07-19 | Cron mail-index-incremental | 🔵 открыта | |
| 2026-07-19 | Cron digest-weekly | 🔵 открыта | |
| 2026-07-19 | Push mirror gitea → gitverse.ru | ✅ закрыта (2026-09-15, иначе: pull mirror gitverse → gitea) | AGENT.md |
2026-09-11
| Дата | Задача | Статус | Закрыта в |
|---|---|---|---|
| 2026-09-11 | Фаза 1.7: динамическое обнаружение подпапок INBOX (get_inbox_subfolders, --all, fix run_cmd) | ✅ закрыта | STATUS.md §1.7, git c7430d1 |
| 2026-09-11 | Анализ Nylas CLI → NYLAS_ANALYSIS.md + ссылка из README | ✅ закрыта | git d4bf3ed |
| 2026-09-11 | Задача 4: Анализ ФС vs Maildir → STORAGE_ANALYSIS.md + README | ✅ закрыта | git e31b5f2; openspec change email-storage-analysis (архивирован) |
| 2026-09-11 | Задача 2: Radicale развёрнут (docker :5232, HTTP Basic, PROPFIND 207) | ✅ закрыта | openspec change local-calendar-tasks |
| 2026-09-11 | Задача 2: коллекции Radicale (Личный/Рабочий/Задачи) — MKCOL 403, ждёт решения способа | 🔵 заблокировано | |
| 2026-09-11 | Задача 2: Vikunja (docker :3456, postgres) — ЛИШНЯЯ СУЩНОСТЬ, задачи через Radicale VTODO | ⛔ не нужна | openspec change remove-vikunja-use-radicale-tasks |
| 2026-09-11 | Задача 2: Caddy reverse proxy (cal.nixg.ru, tasks.nixg.ru) — только cal.nixg.ru | 🔵 открыта | |
| 2026-09-11 | Задача 3: Android-синхронизация (DAVx5 → Radicale, задачи VTODO через jtx board) | 🔵 открыта | |
| 2026-09-11 | Задача 1: веб-интерфейс (FastAPI, список писем, перемещение, тэги) | 🔵 открыта | |
| 2026-09-11 | Задача 6: кнопка «Создать задачу» → Radicale VTODO (вместо Vikunja API) | 🔵 открыта | |
| 2026-09-11 | Задача 7: аутентификация веб-интерфейса | 🔵 открыта |
2026-09-13
| Дата | Задача | Статус | Закрыта в |
|---|---|---|---|
| 2026-09-13 | Radicale: смена пароля (пользователь не помнил; apr1-хэш, users.bak.) | ✅ закрыта | WALKTHROUGH |
| 2026-09-13 | «Обход в Глории» — VEVENT повторяющийся (Рабочий, VTIMEZONE Europe/Moscow) | ✅ закрыта | WALKTHROUGH |
| 2026-09-13 | Диагностика пайплайна: вложения НЕ качаются (баг himalaya --dir → --downloads-dir) |
✅ закрыта | openspec change email-classification-handlers |
| 2026-09-13 | Чейндж email-classification-handlers (классификация Qwen3:8b + обработчики) — создан, 0/23 задач | 🔵 в работе | openspec change email-classification-handlers |
| 2026-09-13 (вечер) | Вложения: фикс --dir→--downloads-dir, вложения качаются, идемпотентно |
✅ закрыта | WALKTHROUGH §2026-09-13 (вечер) |
| 2026-09-13 (вечер) | Классификатор scripts/email_classifier.py (Qwen3:8b → frontmatter classification) |
✅ закрыта | WALKTHROUGH §2026-09-13 (вечер) |
| 2026-09-13 (вечер) | Обработчики scripts/email_handlers.py (urgent→TG, task→VTODO, meeting→VEVENT, dry-run ✓) |
🟡 частично: dry-run готов, живой прогон + TG не проверены | WALKTHROUGH §2026-09-13 (вечер) |
| 2026-09-13 (вечер) | Radicale: синхронизация пароля в radicale/.env с data/users (смена 13.09 не обновила .env) |
✅ закрыта | WALKTHROUGH §2026-09-13 (вечер) |
| 2026-09-13 | Vikunja выведена из эксплуатации: контейнеры/volume/каталог удалены, tasks.nixg.ru закомментирован | ✅ закрыта | openspec change remove-vikunja-use-radicale-tasks (14/14) |
| 2026-09-13 | Тестовый VTODO test-vikunja-removal-2026 в «Задачи» (проверка CalDAV VTODO) | ✅ закрыта | WALKTHROUGH |
| 2026-09-13 | PRD.md создан (отсутствовал) | ✅ закрыта | PRD.md |
| 2026-09-13 | Задача 2: Caddy reverse proxy — cal.nixg.ru работает (207), tasks.nixg.ru закомментирован | 🟡 частично (cal.nixg.ru готов) | STATUS.md |
| 2026-09-13 | Задача 3: Android — контакты синхронизированы (DAVx5), события/задачи ещё не проверены в приложении | 🔵 открыта |
2026-09-15
| Дата | Задача | Статус | Закрыта в |
|---|---|---|---|
| 2026-09-15 | IMAP realtime sync: proposal/design/tasks/spec-дельты (openspec valid) | ✅ закрыта | openspec/changes/imap-realtime-sync/ |
| 2026-09-15 | Выделена авторизация IMAP в scripts/imap_client.py (imap_connect, STARTTLS+LOGIN, re-try) + mail_archive.py переведён на неё |
✅ закрыта | STATUS.md §2026-09-15 |
| 2026-09-15 | Логирование авторизации + метрики (JSON-лог /opt/hermes/email/logs/imap_client.log, imap_metrics, imap_session, --metrics) | ✅ закрыта | STATUS.md §2026-09-15 |
| 2026-09-15 | Telegram-уведомления о важных письмах в ЛС (письмо 3216 → ЛС kpa39l, user подтвердил) | ✅ закрыта | .env проект (TELEGRAM_CHAT_ID=281328953) |
| 2026-09-15 | Баг: крон mail-classify-handlers использовал python3 без httpx → уведомления не уходили (10 urgent-писем в backlog). Фикс: /opt/vesti/.venv/bin/python + --limit 2 | ✅ закрыта | scripts/mail-classify-handlers.sh |
| 2026-09-15 | Формат даты в уведомлениях: 02.09.2026 10:49 (format_date_for_tg) + снятие YAML-кавычек (_unquote_yaml) |
✅ закрыта | scripts/email_handlers.py |
| 2026-09-15 | imap_stream.py (IDLE-цикл) — скелет + выбор библиотеки (aioimaplib не установлен; свой клиент поверх imap_connect) | 🔵 открыта | openspec/changes/imap-realtime-sync/tasks.md |
| 2026-09-15 | Backlog 10 urgent-писем (июль-сентябрь) — отправляются по 2/прогон крона в ЛС; часть просрочена (решить, пропускать ли) | 🔵 открыта | STATUS.md §2026-09-15 |
| 2026-09-15 | Репозиторий: gitverse = источник истины (создан kpa39l/email-assistant, remote gitverse, master запушен) | ✅ закрыта | AGENT.md, STATUS.md |
| 2026-09-15 | Gitea pull mirror: estorozhenko/email-assistant ← gitverse (12h, id 54) | ✅ закрыта | AGENT.md, STATUS.md |
| 2026-09-15 | AGENT.md: добавить местоположение токенов (git-tokens.env, VESTI_BOT_TOKEN, TELEGRAM_CHAT_ID) | ✅ закрыта | AGENT.md |
2026-09-14
| Дата | Задача | Статус | Закрыта в |
|---|---|---|---|
| 2026-09-14 | Живой прогон обработчиков (urgent→TG, task→VTODO, meeting→VEVENT) — проверен end-to-end | ✅ закрыта | STATUS.md §Задача 8 |
| 2026-09-14 | Бэкфилл вложений --attachments-backfill (докачка для 1697 писем has_attachment с пустыми attachments/) |
✅ закрыта | STATUS.md, openspec specs/email-attachments |
| 2026-09-14 | СРОЧНЫЙ ПАТЧ: архивация ставила \Seen (письма «прочитанными») — himalaya BODY[]; фикс: --preview + fetch_attachments_imaplib() (BODY.PEEK[], сырой IMAP) |
✅ закрыта | openspec change no-mark-seen-on-archive |
| 2026-09-14 | Верификация Seen-фикса живьём: UID 14200 (docx 1.1МБ) флаги () → () — Seen не выставлен | ✅ закрыта | tasks.md change no-mark-seen-on-archive |