openspec/specs/user-authentication/spec.md (Requirement «Регистрация пользователя») требует пароль «от 12 до 72 UTF-8 байтов» без требований к составу. WealthLedger/backend#60 (PR backend#109, frontend#89, влиты в develop) ввёл другую policy, и спецификация ей противоречит.
Факт / ожидание
Факт: spec требует 12–72 UTF-8 байтов; реализация на register принимает только печатный ASCII U+0020–U+007E длиной 8–72 символа.
Ожидание: spec описывает принятую policy.
Register: 8–72 печатных ASCII-символа (буквы, цифры, спецсимволы, пробел); пароль передаётся без trim и нормализации; обязательных классов символов нет.
Login: пароль непустой, не длиннее 72 UTF-8 байтов; минимум и набор символов не проверяются, чтобы пользователи с прежним паролем могли войти.
Невалидный пароль → 400 Problem Details, code VALIDATION_ERROR, указатель на поле.
Решение owner и допущения (пробел разрешён, login мягкий) зафиксированы в WealthLedger/backend#60.
Acceptance Criteria
Requirement «Регистрация пользователя» описывает 8–72 печатных ASCII без требований к составу и без изменения пароля.
Requirement «Вход пользователя» описывает мягкую проверку (максимум 72 байта) и вход с прежним паролем.
Есть сценарии: граничные длины, не-ASCII/управляющие символы отвергаются на register, прежний не-ASCII пароль принимается на login.
# Bug Report
## Проблема и шаги воспроизведения
`openspec/specs/user-authentication/spec.md` (Requirement «Регистрация пользователя») требует пароль «от 12 до 72 UTF-8 байтов» без требований к составу. WealthLedger/backend#60 (PR backend#109, frontend#89, влиты в `develop`) ввёл другую policy, и спецификация ей противоречит.
## Факт / ожидание
- Факт: spec требует 12–72 UTF-8 байтов; реализация на register принимает только печатный ASCII U+0020–U+007E длиной 8–72 символа.
- Ожидание: spec описывает принятую policy.
- Register: 8–72 печатных ASCII-символа (буквы, цифры, спецсимволы, пробел); пароль передаётся без trim и нормализации; обязательных классов символов нет.
- Login: пароль непустой, не длиннее 72 UTF-8 байтов; минимум и набор символов не проверяются, чтобы пользователи с прежним паролем могли войти.
- Невалидный пароль → `400` Problem Details, code `VALIDATION_ERROR`, указатель на поле.
- Решение owner и допущения (пробел разрешён, login мягкий) зафиксированы в WealthLedger/backend#60.
## Acceptance Criteria
- [ ] Requirement «Регистрация пользователя» описывает 8–72 печатных ASCII без требований к составу и без изменения пароля.
- [ ] Requirement «Вход пользователя» описывает мягкую проверку (максимум 72 байта) и вход с прежним паролем.
- [ ] Есть сценарии: граничные длины, не-ASCII/управляющие символы отвергаются на register, прежний не-ASCII пароль принимается на login.
- [ ] `npm run verify` и OpenSpec validation пройдены.
## Окружение / ссылки (если применимо)
Refs WealthLedger/backend#60. Парная правка docs — отдельная Issue в WealthLedger/docs.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Bug Report
Проблема и шаги воспроизведения
openspec/specs/user-authentication/spec.md(Requirement «Регистрация пользователя») требует пароль «от 12 до 72 UTF-8 байтов» без требований к составу. WealthLedger/backend#60 (PR backend#109, frontend#89, влиты вdevelop) ввёл другую policy, и спецификация ей противоречит.Факт / ожидание
400Problem Details, codeVALIDATION_ERROR, указатель на поле.Acceptance Criteria
npm run verifyи OpenSpec validation пройдены.Окружение / ссылки (если применимо)
Refs WealthLedger/backend#60. Парная правка docs — отдельная Issue в WealthLedger/docs.
Решено в specs#47 (влит в
develop).