2.9 KiB
2.9 KiB
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-libpossède son target principal danssrc/constants.rssouspub(crate) const TRACING_TARGET: &str; - le target principal est égal au nom Cargo de la crate ;
- les callsites utilisent
crate::TRACING_TARGETou un target spécialisé également possédé parconstants.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-010etDEP-LOG-011.
Modifications
Transport
- ajout de
crates/ksp-onchain-transport-lib/src/constants.rs; - export crate-private de
TRACING_TARGETdepuislib.rs; - remplacement des targets
env!("CARGO_PKG_NAME")danssettings.rs,rpc_method.rs,client.rs,pool.rsetexecutor.rs; - conservation volontaire de
env!("CARGO_PKG_NAME")/CARGO_PKG_VERSIONpour le User-Agent HTTP.
Config
- ajout de
crates/ksp-config-lib/src/constants.rs; - export crate-private de
TRACING_TARGETdepuislib.rs; - suppression du
LOGGING_TARGETlocal deenvironment.rs; - remplacement du target littéral de
persistence.rs.
Gouvernance
- ajout de
DEP-LOG-010/011dansdocs/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 deCARGO_PKG_NAMEou les littéraux dispersés ; - correction du plan actif
008pour refléter la featurereqwest/rustlslocale à 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
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.