# `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.