# tasks.md — candidates-mail-ui ## Proposal - [x] proposal.md — двухпанельный интерфейс кандидатов (почтовый клиент), группировка, bulk - [x] design.md — архитектура (роуты, БД, шаблоны, минимум JS) ## Implement - [ ] Проверить схему posts (status, поля) — уточнить, какие статусы есть - [ ] Миграция: `ALTER TABLE posts ADD COLUMN comment TEXT` (или таблица comments) - [ ] GET /candidates — двухпанельный рендер (левая колонка список+группировка, правая — детально) - [ ] Левая панель: группировка по source/date/status (сворачиваемые
), чекбоксы - [ ] POST /candidates/bulk — approve/reject по ids[] (транзакция) - [ ] POST /posts/{id}/comment — сохранить комментарий (comment TEXT) - [ ] POST /posts/{id}/reclassify — перезапуск классификатора на посте - [ ] POST /posts/{id}/rewrite — LLM-пересказ (qwen), возврат черновика для редактирования - [ ] Правая панель: меню действий, блок комментария, оригинальный пост со всеми медиа - [ ] Шаблоны: candidates.html (двухколоночная), формы новых действий - [ ] Тест: создание 2-3 тестовых постов, группировка, bulk-отклонение, коммент, реклассификация - [ ] `openspec validate candidates-mail-ui` — чисто - [ ] Обновить STATUS.md / WALKTHROUGH.md