# Proposal: Анализ хранения писем — ФС vs Maildir ## Why Пользователь хранит письма в файловой системе как `email.md` (YAML-frontmatter + тело) в `/opt/hermes/email//YYYY/MM/UID/`. Мотивация — **использовать локальную нейросеть (Qwen3:8b через Ollama) как инструмент в обычных скриптах**, без облака и трат. Но перед развитием веб-интерфейса (и вообще проекта) нужно **объективно оценить**, удобен ли текущий формат хранения по сравнению с **Maildir** и аналогичными (MBOX, notmuch) — чтобы не закладывать архитектуру на неправильном фундаменте. Пользователь явно сказал: «анализировать насколько мой подход в хранении писем в файловой системе удобен по сравнению с maildir и ему подобными способами. Последняя задача в приоритете, пока мы не ушли далеко». ## What Changes Создаётся документ `STORAGE_ANALYSIS.md` в корне `/opt/hermes/email-assistant/` — объективное сравнение подходов к хранению писем: 1. **Текущий формат** (`email.md`: YAML-frontmatter + тело в `/YYYY/MM/UID/`) 2. **Maildir** (стандарт: `cur/`, `new/`, `tmp/`, имя файла = `host.timestamp.pid_uid.size:2,S`) 3. **MBOX** (один mbox-файл на папку) 4. **notmuch** (индексный слой поверх Maildir/почты) Критерии сравнения (таблица): - **Производительность** инкрементального чтения (LLM-анализ в скриптах) - **Устойчивость** к сбоям (атомарность, потеря данных) - **Интеграция** с инструментами (grep/find/jq/obsidian) - **Пригодность для LLM** (быстрое чтение тела без парсинга MIME) - **Совместимость** со стандартными MUA (mutt/neomutt/thunderbird) - **Масштабируемость** (10k, 100k писем) - **Резервное копирование** (Yandex Disk, git) ## Capabilities ### New Capabilities - `email-storage-format`: Документированное обоснование выбора формата хранения писем (текущий vs Maildir vs MBOX vs notmuch) и рекомендация по дальнейшему развитию. ### Modified Capabilities ## Impact - **Код:** нет изменений кода, только документация - **Документация:** новый файл `STORAGE_ANALYSIS.md`, ссылка из `README.md` - **Риск:** анализ может порекомендовать миграцию на Maildir — тогда это отдельный change (следующий шаг). Пока — только документ, **ничего не мигрируем**. ## Rollback - Удалить `STORAGE_ANALYSIS.md` и ссылку из `README.md`. - Данные не трогаются — откат тривиален.