Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
915 B
915 B
1. Код
- 1.1 В
Worker.Retryзаменить веткуalive && classify(state)==classErrored: вместоreAdd=true— отказErrConflictс понятным сообщением (починить раздачуrecheckв qBittorrent), без изменения состояния и безAdd - 1.2
reAddоставитьtrueтолько когда раздачи нет (!alive)
2. Тесты
- 2.1
TestRetryRejectsLiveErroredTorrent—error/missingFiles: retry возвращаетErrConflict, состояниеfailedне тронуто,Addне вызван - 2.2
TestRetryReattachesLiveHealthyTorrent— контроль: живой здоровый торрент перецепляется безAdd
3. Спека
- 3.1 MODIFIED-требование в
state-reconciliation;openspec validate --strict