5.7 KiB
5.7 KiB
Community source whitelist
1. Назначение документа
Этот документ фиксирует, что именно допустимо в публичном репозитории crank-community, а что должно оставаться вне него.
Документ нужен для трех задач:
- держать
crank-communityв рамках честной открытой редакции; - не допускать обратного затекания premium surface после split;
- использовать explicit whitelist как правило для дальнейших изменений и синхронизации с private repositories.
2. Текущий статус
crank-community уже является самостоятельным public repository и должен рассматриваться как source base для открытой редакции.
Следствие:
- этот репозиторий описывается как действующая открытая кодовая база, а не как временная заготовка;
- cleanup выполняется прямо в
crank-community, а не как подготовка к будущему импорту; - любые общие улучшения сначала оформляются здесь, а затем переносятся в
crank-enterpriseиcrank-cloud.
3. Разрешенный состав crank-community
3.1. Верхнеуровневые файлы
Разрешены:
AGENTS.mdCargo.tomlCargo.lockLICENSEREADME.mdTASKS.mdjustfilerust-toolchain.toml.dockerignore.env.example.gitignore.sqlx/*
С оговоркой:
Cargo.tomlиCargo.lockдолжны оставаться Community-specific;TASKS.mdдолжен описывать backlog именно дляcrank-community.
3.2. Backend и core crates
Разрешены:
apps/admin-apiapps/mcp-servercrates/crank-corecrates/crank-schemacrates/crank-mappingcrates/crank-registrycrates/crank-runtimecrates/crank-adapter-rest
С оговоркой:
crank-runtimeдолжен собираться какREST-onlyбаза;- Community workspace не должен зависеть от
GraphQL,gRPC,SOAP,WebSocketadapter crates; - server-side capability enforcement должен оставаться честным и не позволять premium protocol paths.
3.3. UI
Разрешены:
- Community UI pages;
- Community wizard для
REST; - capability-gated copy, который честно описывает границы Community;
- Community demo and staging flows.
Допустимо сохранять:
- public capability model;
- честные тексты про существование
EnterpriseиCloud, если они не превращаются в рабочий premium UX.
3.4. Deployment и scripts
Разрешены:
deploy/community/*- public GitHub workflows для Community
- Community release docs
- public smoke scripts
3.5. Documentation
Разрешены:
- public architecture docs;
- public API/MCP contracts;
product-editions,commercial-boundaries,repository-split-map;- Community deployment and smoke docs;
- Community release checklist.
4. Явный blacklist для crank-community
В публичный репозиторий не должны попадать:
crates/crank-adapter-graphqlcrates/crank-adapter-grpccrates/crank-adapter-soapcrates/crank-adapter-websocket- private token issuer implementations
- enterprise governance implementations
- metering / billing implementations
- hosted control-plane code
- private delivery manifests
- private release workflows
- private operator tooling
Также в Community не должны оставаться рабочие premium-only flows:
GraphQLwizard pathgRPCwizard pathSOAPwizard pathWebSocketwizard path- Community streaming execution UI
- Community demo data для premium protocols
- premium protocol examples
5. Текущие cleanup-задачи
На данный момент crank-community уже отделен как репозиторий, но еще требует final cleanup.
Основные хвосты:
- workspace manifests все еще содержат часть premium protocol toolchain dependencies;
- Community test/dev wiring еще не полностью очищен от legacy streaming и premium protocol references;
workspace-setup,settings,catalog,usage,agentsиi18nвсе еще содержат отдельные premium strings и dormant UI modules;- часть docs все еще описывает переходный split-state вместо текущего Community repository.
6. Правило на будущее
Для crank-community действует whitelist-first правило:
- сначала определяется, допустима ли возможность в Community;
- потом код и документация приводятся к этой границе;
- и только после этого изменение попадает в
main.
Запрещено:
- возвращать premium functionality в Community как dormant или half-wired path;
- хранить в Community “на будущее” private operator/runtime flows без прямой необходимости для общей базы;
- вести backlog так, будто
crank-communityвсе еще лишь промежуточная стадия split.