Grok version
This commit is contained in:
@@ -26,7 +26,8 @@
|
||||
- Исключения допускаются только для аудита, админки, технического восстановления и миграций.
|
||||
- Прикладные сущности, имеют `id`, `created_at`, `updated_at`, `updater_user_id`.
|
||||
- Системные таблицы (`app_settings`, `text_resources`, `popular_questions`, `sync_queue`, audit, справочники) могут использовать `user_id = NULL` или отдельное поле `actor_type` — по спецификации модуля `database`.
|
||||
- Для списков использовать справочники. Если значения в столбце могут принимать определенный набор значений, записывать их через ИД (sequence) и создавать справочник с расшифровкой ИД. Это существенно позволит экономить на размере таблиц.
|
||||
- Для **строковых enum из arch-00** (`Dialog.status`, `Message.safety_status`, `Message.delivery_status`, `sender_type`, `scan_status` и т.п.) справочник sequence **не** обязателен: значения фиксированы контрактом API.
|
||||
- Для больших/изменяемых списков (типы документов post-MVP, причины, классификаторы UI) — справочники с ID (sequence) и расшифровкой.
|
||||
- Для часто используемых фильтров добавляются индексы.
|
||||
- Миграции не должны удалять данные без отдельного согласования.
|
||||
- Все юзеры должны иметь ИД, которое указывается в `updater_user_id` которое они меняют.
|
||||
@@ -67,11 +68,11 @@ Raw OTP запрещено хранить в открытом виде: это
|
||||
- idempotency, если операция может повториться;
|
||||
- отсутствие секретов и PII в логах.
|
||||
|
||||
Дополнительно:
|
||||
Дополнительно для модулей с async/worker:
|
||||
|
||||
|
||||
|
||||
## Definition of Done
|
||||
- идемпотентность обработки задач очереди;
|
||||
- поведение при повторной доставке webhook;
|
||||
- таймауты и retry/backoff.## Definition of Done
|
||||
|
||||
Модуль считается готовым, если:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user