Files
jellybit/docs/research/README.md
T
av fdbc781197 metadata: TVDB отдаёт локализованное название и оригинал
- локаль из [general].language применяется при разборе ответа /search, а в
  запрос не уходит: параметр language у TVDB — фильтр выдачи, а не селектор
  перевода (ADR-2026-08-07)
- Title берётся из блока translations с тотальным фолбэком на primary name,
  OriginalTitle — из primary name; форма ответа сверена по документации и
  живым прогоном не подтверждена (docs/research)
- неожиданная форма ответа даёт WARN: признак — отсутствие во всей выдаче
  ключей языка ожидаемого вида, а не неудача разбора блока
2026-08-07 15:17:05 +03:00

3.3 KiB
Raw Blame History

Разведка

Наблюдения за внешним миром: что реально шлёт источник, чем документация формата расходится с практикой и как ведут себя наши разборщики и зависимости на границе формата. Источник истины — этот каталог, а не чужая документация.

Наблюдение о чужом коде живёт здесь наравне с наблюдением о чужих данных, но у него есть срок годности: такая записка обязана называть версию зависимости и условие пересмотра, потому что протухает от обновления go.mod, а не от смены формата.

Каждый вывод — с числами и командой или условиями, которыми получен, чтобы его можно было перепроверить. Число без провенанса проход обязан читать как условие, а не как замер. Число, чей источник по ссылке не подтвердился, не выбрасывается и не переписывается по догадке — остаётся с пометкой «расходится с источником: там <что нашли>».

Как снималось

Наблюдения снимались вручную, по ходу разработки, на домашнем контуре: реальные сообщения торрент-бота в Telegram, реальные ответы qBittorrent WebUI API и LLM-эндпоинта на живых раздачах. Автоматического сбора и корпуса кейсов нет — и не планируется: размеченный корпус решено не собирать (../tasks/REJECTED.md, 2026-08-06). Числа здесь единичные и приведены как условия, а не как статистика.

Зафиксированные образцы чужих форматов лежат прямо в тестах пакета-разборщика — там они заодно и проверяются; где именно и почему без каталога testdata/, см. CLAUDE.md → «Запреты».

Записи

  • torrent-bot-message.md — формат сообщения торрент-бота, из которого приходит magnet и контекст.
  • torrent-bencode-limits.md — границы разбора .torrent в anacrolix/torrent: аллокация по объявленной длине строки, паники разбора, отсутствие «имени-заглушки». Проверено на v1.61.0.
  • tvdb-search-translations.md — переводы в ответе поиска TheTVDB v4: карта translations, параметр language как фильтр выдачи, вырожденные значения. Сверено по swagger 4.7.10, живым прогоном не подтверждено.