v0.2.1-pre.005-fix.001
This commit is contained in:
63
deltas/0.2.1/pre.005-fix.001.md
Normal file
63
deltas/0.2.1/pre.005-fix.001.md
Normal file
@@ -0,0 +1,63 @@
|
||||
<!-- file: deltas/0.2.1/pre.005-fix.001.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# `0.2.1-pre.005-fix.001` — normalisation des targets Logging KSP
|
||||
|
||||
## Base
|
||||
|
||||
- base fonctionnelle : `0.2.1-pre.005` ;
|
||||
- validations utilisateur avant correctif : `cargo fmt --all`, `cargo check --workspace`, `cargo clippy --workspace --all-targets`, tests Transport, Core et workspace propres ;
|
||||
- le correctif répond à l'audit manuel du code de logging après cette validation.
|
||||
|
||||
## Problème corrigé
|
||||
|
||||
Transport utilisait `target: env!("CARGO_PKG_NAME")` dans ses émissions `ksp-logging-lib`. Ce mécanisme produit actuellement le bon texte mais ne matérialise pas le target comme contrat d'observabilité possédé par la crate. Config présentait en parallèle un target local dans `environment.rs` et un littéral équivalent dans `persistence.rs`.
|
||||
|
||||
## Décision
|
||||
|
||||
- toute crate KSP comportementale qui émet via `ksp-logging-lib` possède son target principal dans `src/constants.rs` sous `pub(crate) const TRACING_TARGET: &str` ;
|
||||
- le target principal est égal au nom Cargo de la crate ;
|
||||
- les callsites utilisent `crate::TRACING_TARGET` ou un target spécialisé également possédé par `constants.rs` ;
|
||||
- `env!("CARGO_PKG_NAME")` reste autorisé lorsqu'il représente réellement une metadata Cargo, notamment le User-Agent HTTP ;
|
||||
- les règles sont figées par `DEP-LOG-010` et `DEP-LOG-011`.
|
||||
|
||||
## Modifications
|
||||
|
||||
### Transport
|
||||
|
||||
- ajout de `crates/ksp-onchain-transport-lib/src/constants.rs` ;
|
||||
- export crate-private de `TRACING_TARGET` depuis `lib.rs` ;
|
||||
- remplacement des targets `env!("CARGO_PKG_NAME")` dans `settings.rs`, `rpc_method.rs`, `client.rs`, `pool.rs` et `executor.rs` ;
|
||||
- conservation volontaire de `env!("CARGO_PKG_NAME")`/`CARGO_PKG_VERSION` pour le User-Agent HTTP.
|
||||
|
||||
### Config
|
||||
|
||||
- ajout de `crates/ksp-config-lib/src/constants.rs` ;
|
||||
- export crate-private de `TRACING_TARGET` depuis `lib.rs` ;
|
||||
- suppression du `LOGGING_TARGET` local de `environment.rs` ;
|
||||
- remplacement du target littéral de `persistence.rs`.
|
||||
|
||||
### Gouvernance
|
||||
|
||||
- ajout de `DEP-LOG-010/011` dans `docs/rules/RULES_DEPENDENCIES.md` ;
|
||||
- ajout de `crates/ksp-core-lib/tests/workspace_logging.rs`, canarie workspace vérifiant l'ownership explicite des targets des crates comportementales et interdisant les targets dérivés de `CARGO_PKG_NAME` ou les littéraux dispersés ;
|
||||
- correction du plan actif `008` pour refléter la feature `reqwest/rustls` locale à Transport et la convention de target explicite ;
|
||||
- aucun changement de `ROADMAP.md`.
|
||||
|
||||
## Version
|
||||
|
||||
`workspace.package.version` passe à `0.2.1-pre.5.fix.1` car le correctif modifie du code Rust participant au runtime.
|
||||
|
||||
## Validation requise après application
|
||||
|
||||
```bash
|
||||
cargo fmt --all
|
||||
cargo check --workspace
|
||||
cargo clippy --workspace --all-targets
|
||||
cargo test -p ksp-onchain-transport-lib
|
||||
cargo test -p ksp-config-lib
|
||||
cargo test -p ksp-core-lib
|
||||
cargo test --workspace
|
||||
```
|
||||
|
||||
Aucun `cargo tree` supplémentaire n'est requis : le graphe de dépendances et les features ne changent pas.
|
||||
Reference in New Issue
Block a user