OpenSpec: разнести openspec по проектам

This commit is contained in:
2026-09-11 17:30:17 +00:00
parent 757f3413e9
commit f44bc27ce1
20 changed files with 1846 additions and 0 deletions
View File
@@ -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).