--- name: feedback-auth-api-naming description: Auth API ориентируется на Kohana Auth (login/logout/loggedIn/getUser/checkPassword, Auth::instance()) — без слова Provider metadata: type: feedback --- Пользователь знаком с Kohana-подобным Auth-модулем и мыслит его терминами. При работе с `Services\Auth` (и любым похожим кодом в этом проекте) — придерживаться этой семантики, а не изобретать свою. **Why:** Изначально я сделал `Services\Auth::provider()` + интерфейс `AuthProvider` — пользователь не понял слово «provider» и explicitно попросил «убери Provider он меня бесит». Показал референс — конфиг и методы Kohana Auth (`driver`, `login`, `logout`, `check_password`, `get_user`, `logged_in`). После переименования — доволен. **How to apply:** Итоговая договорённость: - `Services\Auth::instance(?string $name = null)` — точка входа (как `Auth::instance()` в Kohana), НЕ `provider()`/`getProvider()`. - Интерфейс — `Services\Auth\AuthDriver` (не `AuthProvider`), реализация по умолчанию — `FileAuthDriver`. - Методы (camelCase, как везде в проекте — не snake_case, как в самой Kohana): `login($login, $password)`, `logout()`, `loggedIn()`, `getUser()`, `checkPassword($password)`. - Слово «provider» в новом коде авторизации не использовать вообще — ни в именах классов/методов, ни в комментариях. - User — не отдельный класс, а обычный `?array` из `getUser()` (осознанное решение: разные бэкенды/драйверы отдают разный набор полей, жёсткий класс был бы либо слишком узким, либо резиновым __get-обёрткой).