# Tasks: rewrite-as-author ## 1. Шаблон (web/templates/candidates.html) - [x] 1.1 Убрать `readonly` у textarea пересказа, переделать блок: label «редактируйте и сохраните», форма → `/posts/{id}/rewrite-save`, кнопка «💾 Сохранить пересказ» - [x] 1.2 Проверка: GET /candidates?selected=4 (пост с пересказом) — textarea редактируема, кнопка на месте ## 2. Эндпоинт (web/app.py) - [x] 2.1 `POST /posts/{post_id}/rewrite-save`: сохраняет отредактированный textarea в `posts.rewritten_text` (async, str-коэршн), редирект обратно с selected - [x] 2.2 Компиляция + рестарт vesti-web (active) ## 3. Карточка (publisher/card.py) - [x] 3.1 `make_card`: при непустом rewritten_text тело = пересказ, подпись «✍️ Дед в АйТи (@dedinit) · Источник: …» вместо «🔗 Оригинал» - [x] 3.2 Проверка на реальном посте id=4 (read-only): текст начинается с пересказа, есть «Дед в АйТи», нет «🔗 Оригинал» - [x] 3.3 Посты без пересказа — регресс (поведение не изменилось): тело = text, подпись 🔗 Оригинал ## 4. Документация - [ ] 4.1 STATUS.md обновлён - [ ] 4.2 openspec validate rewrite-as-author — чисто - [ ] 4.3 git commit + push (после подтверждения пользователя)