mirror of
https://gitverse.ru/kpa39l/email-assistant.git
synced 2026-09-29 09:15:09 +00:00
OpenSpec: разнести openspec по проектам
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
# 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` в `/<folder>/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).
|
||||
Reference in New Issue
Block a user