Files
transcriber/tasks/items/fix-migrations-path-in-docs-config.md
T

3.5 KiB

🐞 Починить путь миграций в настройке сверки документов

  • Тип: fix
  • Категория: Очередь
  • Зачем: Ключ migrations указывает на каталог migrations/, которого в репозитории нет: шаг гейта зелен при изменённой миграции и нетронутом database.md, а конвенции числят этот род механизированным.

Найдено ревью задачи oidc-login 2026-08-12, отчёт триажа — 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 соответствует тому, что проверка делает на самом деле. Оракул — чтение таблицы против исхода первых двух проверок.