Files

25 lines
2.3 KiB
Markdown

# Proposal: rewrite-as-author
## Why
Функция «✍️ Переписать» в карточке кандидата:
1. textarea с черновиком была `readonly` — пользователь не мог отредактировать сгенерированный LLM пересказ (генерируем 2000 символов, а в канал уходил исходный текст поста как «богатый репост» с `🔗 Оригинал`).
2. Даже после «Переписать» публикация шла с `post["text"]` (исходник), а не с `rewritten_text` — пересказ игнорировался.
Ожидание пользователя: пересказ — это его авторский текст, публикуемый ОТ ИМЕНИ канала «Дед в АйТи», а не пересылка чужого сообщения.
## What Changes
- `web/templates/candidates.html`: textarea пересказа становится редактируемой, добавляется кнопка «💾 Сохранить пересказ» → `POST /posts/{id}/rewrite-save`.
- `web/app.py`: новый эндпоинт `rewrite-save` (сохраняет отредактированный `rewritten_text`).
- `publisher/card.py make_card`: при наличии непустого `rewritten_text` тело карточки = пересказ; подпись «✍️ Дед в АйТи (@dedinit) · Источник: <url>» вместо `🔗 Оригинал: <url>` (публикация от имени автора).
## Why Not
- Не делаем отдельного поля «автор» и персистенции источника пересказа — пересказ всегда от имени владельца канала; ссылка на оригинал остаётся строкой «Источник: …» для атрибуции.
## Impact
- Кандидат: textarea редактируемо, кнопка save. Публикация: пересказ приоритетнее оригинала, подпись от имени канала.
- Обратная совместимость: посты без rewritten_text публикуются как раньше (полный текст + 🔗 Оригинал).