mirror of
https://gitverse.ru/kpa39l/email-assistant.git
synced 2026-09-29 09:15:09 +00:00
1.8 KiB
1.8 KiB
email-classification Specification
MODIFIED Requirements
Requirement: Классификация каждого нового письма
Классификация писем (Qwen3:8b через Ollama) MUST запускаться не только по
расписанию (cron mail-classify-handlers), но и по событиям из ChangeLog
(новое письмо / изменённое письмо), которые генерирует сервис
email-imap-realtime-sync. Механика классификации (теги info/urgent/task/meeting
classification/classification_reasonв frontmatter) не меняется.
Scenario: Новое письмо после архивации
- GIVEN письмо заархивировано (
mail_archive.py) - WHEN
email_classifier.pyобрабатывает письмо - THEN в frontmatter появляются
classificationиclassification_reason
Scenario: Новое письмо классифицируется сразу
- GIVEN в ChangeLog появилось событие
added - WHEN анализатор
email-change-analyzerобрабатывает событие - THEN письмо классифицируется (тег + обоснование в frontmatter) без ожидания cron
Scenario: Событие обработано повторно (идемпотентность)
- GIVEN письмо уже классифицировано (есть
classificationв frontmatter) - WHEN анализатор видит то же событие повторно (например, после рестарта)
- THEN классификация не выполняется заново (идемпотентно, как сейчас)