From 870012514a545cc71bc16b6856fc37109148842c Mon Sep 17 00:00:00 2001 From: mixeme Date: Sun, 9 Aug 2026 13:17:54 +0300 Subject: [PATCH] docs: recommend web-split before domain-admin and inbound-relay Document the preferred implementation order in the roadmap and linked plans. Co-authored-by: Cursor --- docs/plans/domain-admin.md | 4 +++- docs/plans/inbound-relay.md | 4 +++- docs/plans/web-split.md | 15 ++++++++++++++- docs/roadmap.md | 24 ++++++++++++++++-------- 4 files changed, 36 insertions(+), 11 deletions(-) diff --git a/docs/plans/domain-admin.md b/docs/plans/domain-admin.md index cbfebec..6662d04 100644 --- a/docs/plans/domain-admin.md +++ b/docs/plans/domain-admin.md @@ -2,7 +2,9 @@ **Статус:** согласовано **Версия:** целевой bump **1.x** MINOR при совместимой миграции текущего админа -в глобального. +в глобального. +**Порядок:** рекомендуется после [web-split](web-split.md), до +[inbound-relay](inbound-relay.md). --- diff --git a/docs/plans/inbound-relay.md b/docs/plans/inbound-relay.md index e72f827..dad4796 100644 --- a/docs/plans/inbound-relay.md +++ b/docs/plans/inbound-relay.md @@ -3,7 +3,9 @@ **Статус:** согласовано **Версия:** целевой bump **1.x** MINOR; **возможен 2.x** — требует уточнения по итогам реализации (не фиксировать major заранее). -**Модель:** Opus (инфра/безопасность, риск open relay). +**Модель:** Opus (инфра/безопасность, риск open relay). +**Порядок:** рекомендуется после [web-split](web-split.md) и +[domain-admin](domain-admin.md). --- diff --git a/docs/plans/web-split.md b/docs/plans/web-split.md index 5c1c641..c9f8066 100644 --- a/docs/plans/web-split.md +++ b/docs/plans/web-split.md @@ -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** — новый вертикальный срез; проще добавить в уже разрезанный + пакет, чем рефакторить вместе с двумя предыдущими фичами. + +Порядок рекомендация, не блокер. + ## Готово, когда Решение принято осознанно в момент старта работ — либо пакет разрезан по diff --git a/docs/roadmap.md b/docs/roadmap.md index 67cf7d2..4cd9f58 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -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 не тянет. ---