docs: recommend web-split before domain-admin and inbound-relay
test / test (push) Has been cancelled

Document the preferred implementation order in the roadmap and linked plans.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
mixeme
2026-08-09 13:17:54 +03:00
parent 9b3ce0b33e
commit 14322890e8
4 changed files with 36 additions and 11 deletions
+2
View File
@@ -3,6 +3,8 @@
**Статус:** согласовано
**Версия:** целевой bump **1.x** MINOR при совместимой миграции текущего админа
в глобального.
**Порядок:** рекомендуется после [web-split](web-split.md), до
[inbound-relay](inbound-relay.md).
---
+2
View File
@@ -4,6 +4,8 @@
**Версия:** целевой bump **1.x** MINOR; **возможен 2.x** — требует уточнения по
итогам реализации (не фиксировать major заранее).
**Модель:** Opus (инфра/безопасность, риск open relay).
**Порядок:** рекомендуется после [web-split](web-split.md) и
[domain-admin](domain-admin.md).
---
+14 -1
View File
@@ -22,11 +22,24 @@ static), ~25 `.go` / ~4000 строк Go, в одной плоскости ле
разбиение потянуло бы за собой экспорт того, что сейчас пакетно-приватно, — то
есть расширение внутреннего API ради косметики.
Смысл появляется, когда пакет начнёт расти: **inbound-relay** и **domain-admin**
Смысл появляется, когда пакет начнёт расти: **domain-admin** и **inbound-relay**
добавляют в него код — роль приносит авторизацию в каждый хендлер, входящий
релей — отдельные страницы и хендлеры входящих доменов. Рефакторинг дешевле
делать перед этим ростом, чем после.
## Рекомендуемый порядок
**web-split → domain-admin → inbound-relay** (см. [roadmap](../roadmap.md)).
1. **web-split** — заложить структуру пакета (в т.ч. место под `web/auth`), пока
нет сквозных правок от роли и новых inbound-хендлеров.
2. **domain-admin** — авторизация в каждом хендлере опирается на уже выбранную
схему пакета.
3. **inbound-relay** — новый вертикальный срез; проще добавить в уже разрезанный
пакет, чем рефакторить вместе с двумя предыдущими фичами.
Порядок рекомендация, не блокер.
## Готово, когда
Решение принято осознанно в момент старта работ — либо пакет разрезан по
+16 -8
View File
@@ -17,13 +17,17 @@
| ID | Тема | Статус | План |
|---|---|---|---|
| inbound-relay | Входящий релей (backup-MX / пересылка) | **согласовано** | [plans/inbound-relay.md](plans/inbound-relay.md) |
| domain-admin | Роль администратора домена | **согласовано** | [plans/domain-admin.md](plans/domain-admin.md) |
| web-split | Разбиение `internal/web` | **согласовано** | [plans/web-split.md](plans/web-split.md) |
| domain-admin | Роль администратора домена | **согласовано** | [plans/domain-admin.md](plans/domain-admin.md) |
| inbound-relay | Входящий релей (backup-MX / пересылка) | **согласовано** | [plans/inbound-relay.md](plans/inbound-relay.md) |
| contributing | `CONTRIBUTING.md` | кандидат | — |
Жёсткого порядка реализации нет. После `/clear` — пункт со статусом
`согласовано` или `в работе`, затем чеклист в linked plan.
**Рекомендуемый порядок** (не обязателен): **web-split → domain-admin →
inbound-relay** — сначала разрез пакета, затем сквозная авторизация роли, затем
новый вертикальный срез входящего релея. Отклонение допустимо; жёстких фаз нет.
После `/clear` — пункт со статусом `согласовано` или `в работе`, затем чеклист в
linked plan.
---
@@ -41,6 +45,8 @@
**Зависимости / риски:** готовый исходящий тракт; open relay/backscatter;
расширение поверхности атаки (порт 25 на приём). Модель: Opus.
**Порядок:** рекомендуется после [web-split](plans/web-split.md) и
[domain-admin](plans/domain-admin.md).
**Версия:** целевой bump `1.x`; возможен `2.x` — уточнить по итогам реализации.
---
@@ -58,8 +64,9 @@
**Готово, когда:** см. [plans/domain-admin.md](plans/domain-admin.md).
**Зависимости / риски:** таблица пользователей, роль в сессии, авторизация в
каждом хендлере, setup/бэкап. **Версия:** `1.x` MINOR при совместимой миграции
текущего админа в глобального.
каждом хендлере, setup/бэкап. **Порядок:** рекомендуется после
[web-split](plans/web-split.md), до [inbound-relay](plans/inbound-relay.md).
**Версия:** `1.x` MINOR при совместимой миграции текущего админа в глобального.
---
@@ -73,8 +80,9 @@
**Готово, когда:** пакет разрезан по выбранной схеме или зафиксировано, что
остаётся плоским — см. [plans/web-split.md](plans/web-split.md).
**Зависимости / риски:** экспорт пакетно-приватного API. **Версия:** `1.x`, сам
по себе breaking не тянет.
**Зависимости / риски:** экспорт пакетно-приватного API. **Порядок:** рекомендуется
**первым** среди согласованных фич (до domain-admin и inbound-relay).
**Версия:** `1.x`, сам по себе breaking не тянет.
---