tasks: закрыта задача oidc-login, заведён урожай ревью

This commit is contained in:
av
2026-08-12 18:10:59 +03:00
parent c44f0e7582
commit ddc34b3182
10 changed files with 341 additions and 68 deletions
@@ -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` соответствует тому, что
проверка делает на самом деле. Оракул — чтение таблицы против исхода первых
двух проверок.