- Раскладка docs/ приведена к канону 2: заведены passport/architecture/ database/security/review и research; docs/specs, drafts, backlog, review/ и BRIEF.md разобраны и удалены, беклог переехал в docs/tasks (34 задачи, 6 целей, слаги на английский). - Нарративы specs удалены как дубли openspec-спек после поимённой сверки; остаток заведён задачами (редактор маппинга ревью, крайние случаи именования), отказ от сущности title промоутнут в ADR. - Проектные копии агентов и скиллов ревью/пайплайна удалены в пользу плагинов av-dev-pm и av-dev-pipeline; в task gate добавлен шаг canon вместо er-schema.
2.3 KiB
2.3 KiB
1. worker — расширить гейт скана
- 1.1 В
internal/worker/worker.go(transitionErr) заменить условиеstate == store.StateDoneна проверку принадлежностиstateмножеству{done, reverted, deleted}(небольшой предикат-хелпер для читаемости). Остальную механику скана (фоновый ctx,capFileLayout-scoped-логгер, неблокирующая горутина,w.scanner != nil) переиспользовать как есть. - 1.2 Обновить поясняющий комментарий: скан не только «раскладка завершена»,
а «наши библиотечные хардлинки изменились» (разложены при
done, сняты приreverted/deleted).
2. Тесты
- 2.1
internal/worker/review_test.go: тест, что скан стреляет на входе вreverted(послеUndo). - 2.2 Тест, что скан стреляет на входе в
deleted(послеDelete). - 2.3 (Опц.) Негативный точечный тест: на входе, не меняющем наши ссылки, скан не дёргается.
3. Доки
- 3.1
docs/specs/architecture.md(«Пересканирование Jellyfin» и строка «Решённые вопросы»): формулировку «при входе вdone» заменить на «после раскладки (done) и после снятия наших ссылок (reverted/deleted)». - 3.2
docs/specs/workflow.md: в описанииdoneи снятия ссылок отразить, что скан дёргается и после Undo/Delete.
4. Ревью и сверка
- 4.1
task testиtask lintзелёные. - 4.2 Ревью кода (второй чекпоинт) перед archive.
- 4.3
openspec validate 2026-07-17-jellyfin-scan-on-revert-delete --strictзелёный. - 4.4 Синк дельты в
openspec/specs/file-layout, архив change; удалитьdocs/tasks/items/jellyfin-skan-posle-udaleniya.mdи строку из индекса беклога.