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

- сняты fix-migrations-path-in-docs-config, gate-step-exit-codes,
  response-assertions-judge-result, gate-dependency-vulnerabilities
- заведена rollback-restores-wrong-session-duration: откат шага входа ставит
  14 суток, называя их умолчанием библиотеки в пять
This commit is contained in:
av
2026-08-12 22:06:11 +03:00
parent 3925c637f3
commit 8bffd30955
6 changed files with 54 additions and 158 deletions
@@ -0,0 +1,53 @@
# 🐞 Починить срок сессии, который ставит откат шага входа
- **Тип:** fix
- **Категория:** Очередь — Путь сегодня недостижим: откаты не подключены, и пока они не подключены, цена дефекту нулевая.
- **Зачем:** Константа defaultAuthTokenDuration в шаге 202608120001 названа умолчанием библиотеки, но 1209600 — это 14 суток, а умолчание PocketBase 432000, пять суток: откат объявляет возврат к умолчанию и ставит срок вдвое больше выбранных владельцем семи.
Найдено ревью пачки задач о гейте 2026-08-12, проход разбора кода. Дефект
пришёл из задачи `oidc-login` и её правкой не был замечен; переезд шагов схемы в
свой каталог развёл противоречащие комментарии по разным файлам, где раньше они
стояли в трёх строках друг от друга: `provider.go` пишет «умолчание библиотеки в
пять суток», шаг — «умолчание библиотеки» о числе в 14 суток.
Оракул сегодняшнего состояния:
`grep -n "Duration: 432000" ~/go/pkg/mod/github.com/pocketbase/pocketbase@v0.39.10/core/collection_model_auth_options.go`
отдаёт строку `Duration: 432000, // 5days`. Числа `1209600` в модуле нет ни разу
как длительности токена.
**Развилка, которую решает человек:** правка меняет поведение **применённого**
шага схемы, а такое спрашивается всегда. Либо константа приводится к 432000
внутри существующего шага (откат ещё не исполнялся ни разу, и переписывание
трогает только будущие откаты), либо 14 суток объявляются выбранным числом — и
тогда меняется имя константы и её комментарий, а не значение.
## Воспроизведение
1. Подключить откаты (`migratecmd`) — сегодня их не подключает ничто.
2. Откатить шаг `202608120001_oidc_login.go`.
3. Прочитать `AuthToken.Duration` коллекции `users`: там 1209600 — вдвое больше
семи суток, выбранных владельцем, и в 2.8 раза больше умолчания библиотеки,
к которому откат обещал вернуть.
## Затрагивает
- `internal/adapter/repo/pocketbase/migrations/202608120001_oidc_login.go`,
константа `defaultAuthTokenDuration` и комментарий `down202608120001`;
- `internal/adapter/repo/pocketbase/provider.go`, комментарий к
`SessionDuration` — он называет умолчание пятью сутками;
- поведение откатов, если их подключат.
## Критерии приёмки
- Число в откате и число, названное умолчанием библиотеки, совпадают. Оракул —
чтение константы против `core/collection_model_auth_options.go` версии
PocketBase из `go.mod`.
- Комментарии шага и `provider.go` говорят об умолчании одно и то же. Оракул —
чтение обоих мест подряд.
- Гейт зелёный целиком. Оракул — `task gate`.
## Рамки
Правка применённого шага схемы — необратимое: решение принимает человек. Новым
шагом это не лечится: новый шаг накатывается вперёд, а исправить нужно ветку
отката прежнего.