chore(openspec): design.md — поведение повторного seed приведено к факту; tasks.md 5.1/5.2 (T15.1, T15.2)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
This commit is contained in:
parent
7b75981d0f
commit
def3d72935
@ -83,8 +83,9 @@ WHERE is_current`; `ALTER TYPE audit_action ADD VALUE` ×2 (`LEGAL_ENTITY_CHANGE
|
||||
(pre-check `lower(email)`); `external_id` не задаётся (появится при первом входе через РАИСА — Срез JWT). Матрица: `PUT
|
||||
/admin/roles/{code}/permissions` заменяет набор целиком (diff → `ROLE_PERMISSION_CHANGE` с before/after); системные роли
|
||||
(`is_system`) переименовывать/деактивировать нельзя; нельзя снять `USERS_ADMIN` у роли, если это единственная роль с этим правом
|
||||
у активных пользователей, и нельзя снять её у себя. Новые коды прав не создаются (комментарий seed). Повторный seed не
|
||||
отзывает права (известное ограничение, OQ из Среза 0 M-8) — задокументировать в README администратора.
|
||||
у активных пользователей, и нельзя снять её у себя. Новые коды прав не создаются (комментарий seed). Повторный seed
|
||||
**возвращает** права, снятые администратором (вставка недостающих пар `ON CONFLICT DO NOTHING`; лишние права не отзывает) —
|
||||
известное ограничение (OQ из Среза 0 M-8), задокументировано в README администратора.
|
||||
|
||||
### D-9. Минимальный фронт администратора
|
||||
`web/src/api/client.ts` (fetch с `Authorization: Bearer`, базовый URL `${Config.API_URL}/api/v1`, обработка 401/403 →
|
||||
|
||||
@ -81,6 +81,7 @@ test-integration`). Пути — от корня репозитория. Доп
|
||||
## 5. Завершение
|
||||
|
||||
- [x] 5.1 **Документы и проверка.** `README.md` (разделы: API справочников, импорт из ЕЦП — пошагово с `dry_run`, администрирование и
|
||||
экран `/admin`, ограничение: повторный seed возвращает права, снятые администратором), `CLAUDE.md` (DBML v5.14, `domain/policy.py`, `get_uow_session`,
|
||||
формат ошибок, `openpyxl`), `api/.env.example` (`IMPORT_MAX_BYTES`), спеки `openspec/specs/*` после merge (archive);
|
||||
`make check-full` зелёный, вывод — в описание PR. Проверка: OpenAPI (`/docs`) содержит все маршруты спек.
|
||||
экран `/admin`, ограничение: повторный seed возвращает права, снятые администратором), `CLAUDE.md` (DBML v5.14, `domain/policy.py`, `SessionDep`/`get_async_session`,
|
||||
формат ошибок, `openpyxl`), `api/.env.example` (`IMPORT_MAX_BYTES`); `make check-full` зелёный, вывод — в описание PR.
|
||||
Проверка: OpenAPI (`/docs`) содержит все маршруты спек (тест `tests/test_openapi_routes.py`).
|
||||
- [ ] 5.2 **После merge (человек):** `openspec archive slice-1-directories` — синхронизация спек `openspec/specs/*` (в этом PR не выполняется).
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user