- каталог задач: PLAN.md → ROADMAP.md с каноническими секциями, все 44 записи получили тип, заголовки приведены к форме своего типа - расхождения, найденные судьями канона: исключения инварианта «источник неприкосновенен», инвариант про один активный infohash, UTC в logging.md, поведение из architecture.md заменено ссылками на спеки - триггеры профиля ревью переписаны под умолчание standard
18 lines
2.2 KiB
Markdown
18 lines
2.2 KiB
Markdown
# ✨ Докладывать недостающие эпизоды merge-раскладкой при повторной заливке
|
|
|
|
- **Тип:** feature
|
|
- **Категория:** Ядро продукта
|
|
- **Зачем:** повторная заливка сериала целиком должна доложить недостающие эпизоды merge-раскладкой, не трогая существующие ссылки — блокирует типовой сценарий свежих сериалов
|
|
- **Теги:** goal:complex-releases
|
|
|
|
Свежий сериал раздают по мере выхода: торрент с 5 из 10 эпизодов позже перезаливают целиком, пользователь добавляет раздачу повторно. Новая загрузка приходит в ту же папку за счёт правила сходимости, а раскладка становится merge — доложить только недостающее. Существующие пути не трогаем (never-overwrite, владение у старой загрузки), новые кладём (владеет новая). Split-ownership сезона принят как норма per-path модели; обе раздачи сидируют независимо.
|
|
|
|
Шаги:
|
|
- в плане раскладки отличать «путь занят живой ссылкой того же матча» (→ пропустить) от настоящей коллизии (→ review)
|
|
- merge-раскладка: существующее пропустить, недостающее доложить
|
|
- показать итог в карточке: сколько доложено, сколько уже было
|
|
- решить «слияние загрузок» при перезаливе (одна строка download + новый infohash vs новая загрузка) — открытый вопрос черновика §10
|
|
|
|
Зависит от правила сходимости («Проблема второго сезона»), выигрывает от ULID-идентичности.
|
|
Связано: drafts/logical-title-model.md §6.2, specs/jellyfin-layout.md, specs/workflow.md
|