спека: заведён change large-release-recognition для больших раздач

- контракт с моделью переводится на адресацию файла номером строки списка,
  усечение промпта снимается, лимиты уходят в конфиг
- раскладка показывает все файлы раздачи, покрытие плана блокирует авто
  только при непокрытом видеофайле
This commit is contained in:
av
2026-09-02 08:54:32 +03:00
parent 2ac26bf8ed
commit 01ac0430a9
6 changed files with 685 additions and 0 deletions
@@ -0,0 +1,45 @@
## ADDED Requirements
### Requirement: Раскладка показывает все файлы раздачи
Виджет «файл источника → раскладка» на экранах загрузки и ревью SHALL показывать
все файлы раздачи, а не только попавшие в план распознавания. Файл, которого нет
в плане, SHALL отображаться отдельной строкой с явной пометкой «не в плане» и без
целевого пути.
Порядок строк SHALL быть определён полностью и не зависеть от порядка файлов в
плане: сперва разложенные файлы — по сезону, затем по номеру серии, затем по пути
источника; за ними файлы плана без целевого пути (`extra`, `sample`, `ignore`) —
по пути источника; последними файлы вне плана — по пути источника. Файлы без
сезона и серии SHALL NOT попадать в начало списка.
Если список файлов раздачи для загрузки неизвестен (запись создана до того, как
система стала его сохранять), виджет SHALL строить строки по плану и SHALL прямо
называть, что список файлов раздачи недоступен и полнота не гарантирована.
Молчаливый показ неполного списка как полного SHALL NOT допускаться.
Номер строки, показанный в виджете, SHALL совпадать с номером, которым файл
адресуется в ответе модели, либо не показываться вовсе: расхождение сделало бы
разбор ошибок адресации ложным.
#### Scenario: Файл, пропущенный моделью, виден
- **GIVEN** раздача из 180 файлов, из которых модель разметила 100
- **WHEN** открывается раскладка загрузки
- **THEN** показаны все 180 файлов
- **AND** 80 неразмеченных помечены как «не в плане» и не имеют целевого пути
#### Scenario: Порядок строк — по сезону и серии
- **GIVEN** план мультисезонного пака, где модель вернула файлы в произвольном порядке
- **WHEN** отображается раскладка
- **THEN** строки идут по возрастанию сезона, внутри сезона — по номеру серии
- **AND** семплы, допматериалы и игнорируемые файлы стоят после разложенных серий,
а не перед первым сезоном
#### Scenario: Список файлов раздачи неизвестен
- **GIVEN** загрузка, распознанная до появления сохранённого списка файлов
- **WHEN** открывается её раскладка
- **THEN** строки построены по плану
- **AND** виджет называет, что список файлов раздачи недоступен и полнота не гарантирована