# 🐞 Починить срок сессии, который ставит откат шага входа

- **Тип:** 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`.

## Рамки

Правка применённого шага схемы — необратимое: решение принимает человек. Новым
шагом это не лечится: новый шаг накатывается вперёд, а исправить нужно ветку
отката прежнего.
