From 5075f6b116befdde25c337fc231c27f4f3782196 Mon Sep 17 00:00:00 2001 From: Anton Vakhrushev Date: Fri, 3 Jul 2026 08:57:50 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A3=D0=B1=D1=80=D0=B0=D0=BB=20=D0=B8=D0=B7?= =?UTF-8?q?=20=D0=B1=D0=B5=D0=BA=D0=BB=D0=BE=D0=B3=D0=B0=20=D1=80=D0=B5?= =?UTF-8?q?=D0=B0=D0=BB=D0=B8=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD=D0=BD=D1=83?= =?UTF-8?q?=D1=8E=20=D0=B7=D0=B0=D0=B4=D0=B0=D1=87=D1=83=20=D0=B8=D0=B4?= =?UTF-8?q?=D0=B5=D0=BD=D1=82=D0=B8=D1=87=D0=BD=D0=BE=D1=81=D1=82=D0=B8=20?= =?UTF-8?q?=D0=BD=D0=B0=20ULID=20(docs)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Раздел «Идентичность загрузки: ULID + множество инфохэшей» закрыт коммитом 37f2f64 и заархивированным change ulid-identity — удаляю из беклога. Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/backlog.md | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/docs/backlog.md b/docs/backlog.md index 019e1aa..4f0afea 100644 --- a/docs/backlog.md +++ b/docs/backlog.md @@ -35,27 +35,6 @@ _(идея)_ — их сперва надо проработать. матч в базе), [jellyfin-layout.md](specs/jellyfin-layout.md) (папка сериала с провайдер-id). -### Идентичность загрузки: ULID + множество инфохэшей - -Фундамент для «второго сезона», «докачивания» и истории переходов (шаг 1 в -[drafts/logical-title-model.md](drafts/logical-title-model.md)). Сейчас -загрузка идентифицируется хешем торрента — это хрупко: v1/v2/гибрид дают -разные значения, перезалив/репак/докачка — другой хеш, у одной логической -загрузки хешей несколько. Вводим ULID, генерируемый при приёме, как -первичный ключ домена; инфохэши — таблица `download_infohash` «многие к -одному», на которую переезжают дедуп и поиск. - -- [ ] `download.id` → TEXT ULID (миграция с заполнением существующих строк) -- [ ] таблица `download_infohash` (`download_id`, `infohash`, `kind` v1|v2, `UNIQUE(infohash)`) -- [ ] дедуп/идемпотентность через `download_infohash` (вместо `idempotency_key`) -- [ ] поиск при приёме и в поллинге — по любому из хешей -- [ ] обновить ER-схему [database.md](specs/database.md) - -Связано: [drafts/logical-title-model.md](drafts/logical-title-model.md) §5.1, -[database.md](specs/database.md) (PK `download`, `infohash`), -[architecture.md](specs/architecture.md) → «Идентификация торрента», пакет -`store`. - ### Раздачи с докачиванием (слияние при повторном добавлении) Свежий сериал раздают по мере выхода: торрент содержит 5 эпизодов из 10,