tasks: закрыта задача oidc-login, заведён урожай ревью
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
# 🐞 Починить путь миграций в настройке сверки документов
|
||||
|
||||
- **Тип:** fix
|
||||
- **Категория:** Очередь
|
||||
- **Зачем:** Ключ migrations указывает на каталог migrations/, которого в репозитории нет: шаг гейта зелен при изменённой миграции и нетронутом database.md, а конвенции числят этот род механизированным.
|
||||
|
||||
Найдено ревью задачи `oidc-login` 2026-08-12, отчёт триажа —
|
||||
[review/report.md](../../openspec/changes/archive/2026-08-12-oidc-login/review/report.md),
|
||||
раздел «Promote candidates».
|
||||
|
||||
Проверка сверяет изменённые файлы с префиксом `migrations/`, а шаги схемы лежат
|
||||
в `internal/adapter/repo/pocketbase/`. Совпадений не бывает никогда, значит шаг
|
||||
проходит зелёным всегда. Оракул сегодняшнего состояния:
|
||||
`git ls-files | grep -c "^migrations/"` отдаёт `0`.
|
||||
|
||||
Цена уже заплачена дважды: задача `oidc-login` изменила шаг схемы и не тронула
|
||||
`docs/database.md`, и гейт этого не заметил — расхождение нашёл человек на
|
||||
ревью. Так же провалится всякая следующая миграция.
|
||||
|
||||
Развилка внутри задачи: либо поправить путь, либо снять пометку
|
||||
«механизировано» в `docs/conventions/README.md` и отдать род человеку. Второе
|
||||
дешевле, но тогда проверять его будет некому.
|
||||
|
||||
## Воспроизведение
|
||||
|
||||
1. Изменить любой файл шагов схемы в `internal/adapter/repo/pocketbase/`.
|
||||
2. `docs/database.md` не трогать.
|
||||
3. Прогнать `task docs BASE=origin/master`.
|
||||
4. Шаг проходит зелёным, хотя должен назвать расхождение. Сегодняшнее состояние
|
||||
настройки видно командой `git ls-files | grep -c "^migrations/"` — она отдаёт
|
||||
`0`, то есть каталога с таким именем в репозитории нет.
|
||||
|
||||
## Затрагивает
|
||||
|
||||
- `docs/.docs.json`, ключ `migrations`;
|
||||
- `docs/conventions/README.md`, таблица «Механизировано», строка про миграцию;
|
||||
- шаг `docs` в `Taskfile.yml` — его исход меняется.
|
||||
|
||||
## Критерии приёмки
|
||||
|
||||
- Изменённый шаг схемы при нетронутом `docs/database.md` роняет шаг гейта.
|
||||
Оракул — правка любого файла шагов схемы без правки схемы в документах, затем
|
||||
`task docs BASE=origin/master`: ненулевой код возврата.
|
||||
- Изменённый шаг схемы вместе с правкой `docs/database.md` шаг гейта проходит.
|
||||
Оракул — то же с обеими правками: код возврата 0.
|
||||
- Строка «Механизировано» в `docs/conventions/README.md` соответствует тому, что
|
||||
проверка делает на самом деле. Оракул — чтение таблицы против исхода первых
|
||||
двух проверок.
|
||||
Reference in New Issue
Block a user