учёт: закрыт переезд хранилища, заведён урожай его ревью
- storage-without-pocketbase закрыта как реализованная: приёмка сошлась по всем
пяти критериям записи и по двенадцати приёмочным свойствам рубрики ревью
дизайна, работа лежит коммитом c9b7765
- урожай триажа ревью развёрнут в одиннадцать записей с тегом партии
review-2026-08-23 и расставлен по зависимости, а не в конец списка
- находка про признак живости воркера слита в stalled-pipeline-metric: у неё та
же причина — вставший конвейер неотличим от простоя
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
# 🧹 Вынести тело подкоманды 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()`.
|
||||
Reference in New Issue
Block a user