openspec: change-ы manual-direction (ручное направление без LLM) и extract-post-sources (извлечение источников из постов) + sources/extract.py

This commit is contained in:
kpa39l
2026-09-22 17:37:07 +00:00
parent 1ae4b14d24
commit 6a1c894ff7
7 changed files with 316 additions and 0 deletions
@@ -0,0 +1,29 @@
# manual-direction
Возможность вручную указывать/менять направление поста при анализе.
## Why
Пост без классификации отображается со значком «?» (published.html: `direction or '?'`).
Кнопка «Обработать моделью» перезапускает LLM, но если модель не выдаёт каноническое
направление — пост так и остаётся без него. Пользователю нужен способ явно задать
направление вручную (linux/tech/politics/games/electronics/llm) — например, когда
классификатор ошибся или не смог определить тему.
## What Changes
- **web/app.py** `post_reclassify`/`impl_reclassify`: новый параметр `manual_direction`
(select в форме). Если задан и входит в DIRECTIONS_CANON — направление пишется в БД
напрямую (без LLM), `classified=1`, relevance/interest — как при словарном попадании.
- **web/templates/selected.html**: перед кнопкой «🤖 Обработать моделью» — select
направлений («— модель —» по умолчанию = оставить как есть). Если выбрать конкретное
направление — задастся принудительно.
- **web/templates/candidates.html**: аналогичный select у формы reclassify? В кандидатах
reclassify нет (только «Отобрать»/«Отклонить») — добавление не требуется, но для
полноты добавим select кнопке reclassify в selected.html (единственное место с reclassify).
## Impact
- Пользователь может вручную исправить/добавить направление, не дожидаясь LLM.
- Даёт пост классификацию даже если модель «не знает» — важно для публикации
(published.html без «?»).