docs: align community repo as source of truth

This commit is contained in:
github-ops
2026-05-10 16:46:50 +00:00
parent ca9b86aada
commit ef007a4a21
6 changed files with 148 additions and 289 deletions
+19 -41
View File
@@ -16,17 +16,17 @@
## 2. Текущее состояние
Сейчас код и документация еще живут в одном репозитории.
Разделение уже выполнено на уровне репозиториев:
Это допустимо только как переходное состояние, пока:
- `crank-community` — public base;
- `crank-enterprise` — private self-hosted delta;
- `crank-cloud` — private hosted delta.
- не зафиксированы capability boundaries;
- не подготовлены extension seams;
- не собраны отдельные Community delivery artifacts;
- не определен physical split plan.
Дальнейшая задача не в создании split, а в его дисциплинированном поддержании:
После завершения этого этапа текущий репозиторий не должен оставаться source of truth сразу для
всех трех редакций.
- общее улучшение идет сначала в `crank-community`;
- затем переносится в `crank-enterprise` и `crank-cloud`;
- cleanup Community делается только в `crank-community`.
## 3. Целевой результат
@@ -193,42 +193,20 @@ Private repository.
4. Public contracts должны остаться в Community и не зависеть от private кодовой базы.
5. Private repos не должны требовать обратного копирования логики в Community.
## 6. Что должно произойти перед физическим split
## 6. Правила поддержки split после разделения
Перед началом physical split нужно выполнить отдельно:
После разделения действуют такие правила:
1. Создать репозитории:
- `crank-community`
- `crank-enterprise`
- `crank-cloud`
2. Определить owners и access policy для private repositories.
3. Зафиксировать отдельные package/release names.
4. Подготовить начальные README и baseline workflows для всех трех репозиториев.
Текущий статус:
- `crank-community` уже создан;
- `crank-enterprise` уже создан;
- `crank-cloud` уже создан;
- bootstrap templates уже перенесены в целевые repositories;
- baseline-import в `crank-community` уже был откачен из истории и не считается финальным public source state;
- management gate закрыт, следующий шаг — начать physical split.
Пока эти четыре пункта не выполнены, physical split не начинается.
Техническая заготовка для этого шага уже живет в:
- `templates/repositories/crank-community/*`
- `templates/repositories/crank-enterprise/*`
- `templates/repositories/crank-cloud/*`
1. `crank-community` остается базой для общей открытой логики.
2. `crank-enterprise` и `crank-cloud` не должны независимо переизобретать общий Community код.
3. Общие исправления и улучшения сначала делаются в `crank-community`, затем переносятся в private repositories.
4. Удаление или ограничение Community functionality делается только в `crank-community`.
5. Private repositories должны хранить только свой product delta, а не полную независимую копию всей эволюции продукта.
## 7. Практический вывод
Следующий управленческий шаг после завершения текущего boundary-трека:
Для текущего этапа это означает:
- начать physical split с `crank-community`
- сделать whitelist-based import для `crank-community` и только его считать финальным public source of truth
- создать `crank-enterprise`
- создать `crank-cloud`
После этого уже можно планировать фактическое разнесение кода и delivery files.
- `crank-community` нужно дочистить до окончательного public состояния;
- затем использовать его как source base для общих улучшений;
- коммерческие возможности продолжать развивать только в `crank-enterprise` и `crank-cloud`.