наблюдаемость: завершить базовый контур Community
Добавить структурированные журналы, метрики, трассировку и безопасный канал критических ошибок. Усилить границы рантайма, тесты, проверку зависимостей и сценарии развёртывания.
This commit is contained in:
@@ -23,14 +23,25 @@
|
||||
- `scripts/check-rust-code-health.sh` — локальный repo-level gate для размера Rust-файлов.
|
||||
- `scripts/check-rust-boundaries.sh` — crate-level dependency direction и module-level import rules.
|
||||
- `scripts/check-rust-module-boundaries.sh` — запрет на опасные imports внутри слоев.
|
||||
- `cargo deny --locked check advisories bans licenses sources` — обязательная проверка лицензий, известных уязвимостей и источников зависимостей.
|
||||
- `scripts/check-dependencies.sh` — единая локальная проверка Rust- и npm-зависимостей.
|
||||
|
||||
Что можно добавить позже:
|
||||
|
||||
- `cargo-deny` для лицензий, security advisories и duplicate dependencies.
|
||||
- `cargo-machete` для поиска неиспользуемых зависимостей.
|
||||
- `cargo-udeps` для более строгой проверки зависимостей, если nightly допустим в отдельной job.
|
||||
- `cargo-modules` или `cargo-guppy` для анализа графа модулей и зависимостей между crate-ами.
|
||||
|
||||
## Политика лицензий зависимостей
|
||||
|
||||
По умолчанию разрешены `MIT`, `BSD-2-Clause`, `BSD-3-Clause`, `Apache-2.0`, `ISC` и `0BSD`.
|
||||
|
||||
`MPL-2.0`, `LGPL`, `EPL` и `CDDL` требуют отдельного технического и юридического рассмотрения до добавления зависимости.
|
||||
|
||||
`GPL`, `AGPL`, `SSPL`, `Commons Clause`, `BUSL` и зависимости с неизвестной лицензией запрещены без юридического согласования. Лицензия самого Community-продукта не считается внешней зависимостью и проверяется отдельно.
|
||||
|
||||
Точечные исключения для обязательных транзитивных зависимостей фиксируются в `deny.toml` по имени пакета и конкретной лицензии. Безымянные или глобальные исключения запрещены.
|
||||
|
||||
## Правила размера
|
||||
|
||||
Новые Rust-файлы не должны быть больше `1000` строк.
|
||||
|
||||
Reference in New Issue
Block a user