Files

2.6 KiB

Why

Канонический список направлений проекта: linux, tech, politics, games, electronics, llm (AGENT.MD, веб-форма fan-out). Но классификатор и веб используют ДРУГОЙ список: linux, dev, ai, tech, games, electronics, media (classify.py:87, web/app.py:130, keywords.py). Из-за этого:

  • LLM получает на выбор dev/ai/media и никогда не предложит politics/llm;
  • по факту в БД у своих постов появились направления dev (102), media (50), ai (33), которых нет в каноне; при публикации fan-out по ним не сработает (веб-форма их не предлагает);
  • 466 из 847 своих постов остались БЕЗ направления (не нашлось ни совпадения по словарю под канон, ни LLM-варианта) — классификатору некорректно задавали список.

Нужно привести все места к единому канону направлений.

What Changes

  • Единый список направлений: ["linux", "tech", "politics", "games", "electronics", "llm"].
  • classifier/classify.py:87 — промпт LLM: использовать канон вместо локального списка.
  • web/app.py:130 — фильтр веба: канон.
  • classifier/keywords.py — DIRECTIONS: привести к канону (dev/media/ai → убрать или переименовать в tech/llm; добавить politics), чтобы словарь ставил только канонические.
  • Переклассифицировать 466 своих постов без направления (limit большой) — LLM теперь ставит politics/llm корректно.
  • Legacy-значения в БД (dev/media/ai) — не удалять (правило: физически ничего не удаляем), но при публикации они сами собой не выберутся (форма не предложит).

Why Not

  • Не удалять физически посты/направления — только корректно классифицировать дальше.

Open Questions

  • Маппинг старых dev/media/ai → новые? (пользователь сможет вручную поменять direction при approve; авто-маппинг не делаем пока.)