- storage-without-pocketbase закрыта как реализованная: приёмка сошлась по всем
пяти критериям записи и по двенадцати приёмочным свойствам рубрики ревью
дизайна, работа лежит коммитом c9b7765
- урожай триажа ревью развёрнут в одиннадцать записей с тегом партии
review-2026-08-23 и расставлен по зависимости, а не в конец списка
- находка про признак живости воркера слита в stalled-pipeline-metric: у неё та
же причина — вставший конвейер неотличим от простоя
3.0 KiB
3.0 KiB
🧹 Вынести тело подкоманды resume из main-пакета и покрыть тестом
- Тип: chore
- Категория: Очередь — Тот же пакет оснастки: после того как в cmd/devtools осядет подкоманда подъёма, тела подкоманд выносятся из main-пакета разом
- Зачем: go test ./cmd/... отвечает no test files: подкоманда возврата записи в работу не проверена ничем, а тест на неё пришлось бы писать, повторяя её тело руками.
- Теги: review-2026-08-23
go test ./cmd/... отвечает no test files. Подкомандой resume владелец
возвращает остановленную запись в работу, пока этого не делают экраны, — и
проверяет её только человек руками.
Тело подкоманды живёт в main-пакете и завязано на log.Fatalf: тест на неё
пришлось бы писать, повторяя это тело у себя, — то есть проверять копию, а не
предмет. Починка — вынести тело в вызываемую функцию, возвращающую ошибку.
Нашёл проход review-specs (S4) ревью change
2026-08-23-storage-without-pocketbase.
Затрагивает
cmd/devtools/resume.go— тело подкоманды и его выход черезlog.Fatalf;cmd/devtools/main.go— разбор доводов и выбор подкоманды;- сборка тестов
cmd/devtools, которой сегодня нет.
Критерии приёмки
- Тело подкоманды вызывается из теста. Оракул:
go test ./cmd/...больше не отвечаетno test files, и тест зовёт функцию, а не повторяет её шаги. - Остановленная запись возвращается в работу. Оракул: тест на временной базе — после вызова у записи снят признак остановки, счётчик отказов обнулён, а в журнале событий записи стоит строка о возврате.
- Отказ виден кодом возврата. Оракул: тест — несуществующий идентификатор даёт ошибку из функции, а команда — ненулевой код.
Рамки
Подкоманду не переименовываем и доводов ей не добавляем: правится место тела, а
не её договор с человеком. Боевой каталог данных не трогать — тест идёт по
t.TempDir().