From 01e64d60de7495900d9a4c8f5ce9bf811ee7b7e6 Mon Sep 17 00:00:00 2001 From: Anton Vakhrushev Date: Thu, 6 Aug 2026 14:51:18 +0300 Subject: [PATCH] =?UTF-8?q?specs:=20=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B8?= =?UTF-8?q?=20=D0=BF=D0=BE=20=D0=B4=D0=BE=D0=B7=D0=B0=D0=BF=D1=83=D1=89?= =?UTF-8?q?=D0=B5=D0=BD=D0=BD=D0=BE=D0=BC=D1=83=20=D0=B0=D1=80=D1=85=D0=B8?= =?UTF-8?q?=D1=82=D0=B5=D0=BA=D1=82=D1=83=D1=80=D0=BD=D0=BE=D0=BC=D1=83=20?= =?UTF-8?q?=D0=BF=D1=80=D0=BE=D1=85=D0=BE=D0=B4=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - термин «тик-снимок» определён при первом употреблении - маршрут восстановления в download-tracking больше не пересказывает правила Retry — только ссылается на state-reconciliation - заголовок сценария ingest не обещает исхода, которого сценарий не даёт --- .../specs/ingest/spec.md | 2 +- openspec/specs/download-tracking/spec.md | 11 +++++------ openspec/specs/ingest/spec.md | 2 +- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/openspec/changes/archive/2026-08-06-catched-source-type-reread-wording/specs/ingest/spec.md b/openspec/changes/archive/2026-08-06-catched-source-type-reread-wording/specs/ingest/spec.md index cea0727..81fb7f8 100644 --- a/openspec/changes/archive/2026-08-06-catched-source-type-reread-wording/specs/ingest/spec.md +++ b/openspec/changes/archive/2026-08-06-catched-source-type-reread-wording/specs/ingest/spec.md @@ -101,7 +101,7 @@ NOT. подготовки запроса на добавление — см. `download-tracking` «Добавление пойманной загрузки в qBittorrent» -#### Scenario: Апгрейд в окне вывода имени — воркер добавит magnet +#### Scenario: Апгрейд в окне вывода имени — гарантия добавления файлом не даётся - **GIVEN** активная загрузка в `catched` с `source_type = magnet`, для которой воркер уже подготовил запрос на добавление и выводит отображаемое имя diff --git a/openspec/specs/download-tracking/spec.md b/openspec/specs/download-tracking/spec.md index 2f4e548..57f5326 100644 --- a/openspec/specs/download-tracking/spec.md +++ b/openspec/specs/download-tracking/spec.md @@ -137,7 +137,8 @@ Conflict`), и загрузка зациклилась бы на ретраях. magnet-хешу вместо файла система SHALL NOT. `source_type` для выбора способа добавления worker SHALL перечитывать **под -блокировкой переходов после тик-снимка** — перед подготовкой запроса на +блокировкой переходов после тик-снимка** (тик-снимок — снимок списка `catched`, +снятый на тике поллинга) — перед подготовкой запроса на добавление, а не полагаясь на снимок списка `catched`, который к моменту обработки загрузки уже устарел (блокировка между снятием списка и обработкой отпускается). Иначе апгрейд пойманной magnet-задачи до `.torrent` (см. @@ -163,11 +164,9 @@ worker `add` выполнять SHALL NOT и SHALL оставлять загру ущерба нет вовсе. На закрытом трекере, ради которого `.torrent` и подавался, magnet без метаданных зависает в `metaDL`, и предохранитель `magnet_timeout` уводит задачу в `failed` (см. «Таймауты-предохранители downloading»). Сама собой -задача из этого состояния не восстанавливается: фоновая сверка оживляет только -продвинувшийся источник, а `Retry` при живом и здоровом торренте (`metaDL` -считается живым) перецепляется к нему и повторный `add` по актуальному -`source_type` не делает — см. `state-reconciliation` «Ручной повтор -зависшей/упавшей загрузки из транспортов». Восстановление сегодня требует +задача из этого состояния не восстанавливается, и `Retry` её тоже не чинит — +почему, см. `state-reconciliation` «Ручной повтор зависшей/упавшей загрузки из +транспортов». Восстановление сегодня требует ручного шага: убрать зависшую magnet-раздачу из qBittorrent, после чего `Retry` добавит источник заново по актуальному `source_type` — сохранёнными байтами, которые апгрейд уже diff --git a/openspec/specs/ingest/spec.md b/openspec/specs/ingest/spec.md index 04c326d..df69a4d 100644 --- a/openspec/specs/ingest/spec.md +++ b/openspec/specs/ingest/spec.md @@ -575,7 +575,7 @@ NOT. подготовки запроса на добавление — см. `download-tracking` «Добавление пойманной загрузки в qBittorrent» -#### Scenario: Апгрейд в окне вывода имени — воркер добавит magnet +#### Scenario: Апгрейд в окне вывода имени — гарантия добавления файлом не даётся - **GIVEN** активная загрузка в `catched` с `source_type = magnet`, для которой воркер уже подготовил запрос на добавление и выводит отображаемое имя