Прошлись по 34 старым задачам, сверив премисы с текущим кодом и спеками: - Удалена mashina-sostoyaniy-biblioteka: change state-transition-graph (архив 2026-07-08) осознанно отверг внешнюю FSM-библиотеку в пользу своего декларативного графа — задача противоречит принятому решению. - Понижены: masshtab-100-zagruzok (высокий→средний, чисто документный НФТ без признаков реальной нагрузки), favicon / telegram-match-metabazy / disk-kopii-video-ts-bdmv (средний→низкий). - Переформулированы под реальный остаток: dobavlenie-edinoe-okno (magnet и .torrent-файл уже сделаны — остался фетч .torrent по URL с SSRF-гардом, средний→низкий); vneshnie-subtitry (привязка субтитр→серия уже работает — сузили до пар VobSub .idx+.sub и потери Lang/Flags в toLayoutPlan). - Индекс README пересобран под новые ярусы (высокий/средний/низкий = 9/19/19). Остальные задачи подтверждены кодом как актуальные; повышать нечего. gate-confidence и дробление udalenie оставлены как темы для обсуждения. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1.4 KiB
Фетч .torrent по URL — остаток «единого окна»
Приоритет: низкий
Приём magnet и .torrent-файла уже реализован: ветка TorrentData → torrent.Parse
(internal/ingest/ingest.go), файл-пикер в веб-форме (web/templates/index.html),
приём документа в Telegram (internal/tgbot). Осталась одна ветка «единого окна» —
URL на .torrent: сервис сам скачивает файл по ссылке и заводит загрузку. Была
осознанно вынесена из change torrent-file-ingest, потому что требует исходящего
запроса на пользовательский URL → нужен SSRF-гард (allowlist схем/хостов, запрет
приватных сетей, лимит размера/редиректов).
Идеал по-прежнему — одно поле, куда кидают текст или файл, а сервис разбирает, что
это (magnet / ссылка на .torrent / .torrent-файл / сообщение бота). Сейчас текстовое
поле идёт только через magnet.Parse.
Связано: specs/architecture.md → «Транспорты» (source_type = magnet|torrent|url уже в
схеме), пакет ingest, архив change torrent-file-ingest.