# email-storage-format Specification ## Purpose TBD - created by archiving change email-storage-analysis. Update Purpose after archive. ## Requirements ### Requirement: REQ-EMA-STORAGE-001: Обоснование выбора формата хранения **MUST** — проект должен содержать документ `STORAGE_ANALYSIS.md` в корне `/opt/hermes/email-assistant/`, объективно сравнивающий текущий формат хранения (`email.md` в `//YYYY/MM/UID/`) с Maildir, MBOX и notmuch. #### Scenario: Документ анализа существует **GIVEN** файл `STORAGE_ANALYSIS.md` существует **WHEN** его открывают **THEN** он содержит: - таблицу сравнения по критериям (производительность, устойчивость, интеграция, пригодность для LLM, совместимость с MUA, масштабируемость, бэкапы) - явную рекомендацию (остаться на текущем / мигрировать на Maildir / иное) - обоснование рекомендации с учётом мотивации пользователя (локальная LLM в скриптах, без облака) ### Requirement: REQ-EMA-STORAGE-002: Ссылка из README **MUST** — `README.md` проекта должен содержать ссылку на `STORAGE_ANALYSIS.md`. #### Scenario: README содержит ссылку **GIVEN** `README.md` проекта **WHEN** открываем его **THEN** в разделе «Оценка альтернатив» (или аналогичном) есть ссылка `[Анализ формата хранения (ФС vs Maildir)](STORAGE_ANALYSIS.md)`. ### Requirement: REQ-EMA-STORAGE-003: Без изменения данных **MUST** — change не должен модифицировать, мигрировать или удалять существующие письма в `/opt/hermes/email/`. Анализ — только документация. #### Scenario: Архив не изменён **GIVEN** архив `/opt/hermes/email/` **WHEN** change применён **THEN** файлы писем остаются без изменений (проверка: `find /opt/hermes/email -name 'email.md' | wc -l` — то же число, что и до change).