## Purpose Классификация постов по направлениям локальным LLM + словарный фильтр. Дополняется приоритетом «своего контента» и поддержкой мультинаправлений для fan-out. ## ADDED Requirements ### Requirement: Приоритет своего контента Классификатор MUST обрабатывать посты с `is_own=1` как «сильные кандидаты»: при наличии направления по словарю — relevance=critical, classified=True — даже если LLM недоступна (фолбэк без LLM, пост не теряется). Для внешних постов поведение без изменений. #### Scenario: Свой пост, LLM недоступна - **WHEN** пост is_own=1, словарь дал направление, но Ollama недоступна - **THEN** пост получает direction (словарь), relevance=critical, classified=True, method='dict-own' (не требует LLM) #### Scenario: Свой пост без направления по словарю - **WHEN** пост is_own=1, словарь не дал направление - **THEN** классификации нет (classified=False) до LLM; пост не теряется (остаётся в очереди) ### Requirement: Мультинаправления Классификатор MUST уметь возвращать несколько направлений для поста (для маппинга fan-out); основное направление хранится в posts.direction, дополнительные — в classifications (таблица уже позволяет несколько классификаций на пост). #### Scenario: Пост про Linux + AI - **WHEN** пост упоминает и линукс, и нейросети - **THEN** в classifications может быть несколько записей (linux, ai); fan-out использует оба при подтверждении