5.3 KiB
Delta 0.2.2-pre.003-fix.001 — activation production des helpers wire Accounts partagés
Base requise
livraison : 0.2.2-pre.003
workspace.package.version = "0.2.2-pre.3"
Le correctif est ouvert après validation locale communiquée le 2026-08-18. pre.003 active en production les cinq wrappers Accounts, mais leurs
chemins de décodage utilisent crate::decode_wire_json et crate::parse_wire_pubkey alors que les deux réexports crate-private sont restés
conditionnés par #[cfg(test)] dans lib.rs depuis le nettoyage préparatoire de pre.002-fix.001.
La conséquence est une régression de compilation E0425 sur cargo check, cargo clippy et cargo test.
Objectif
Rendre production-live uniquement les deux réexports crate-private désormais réellement consommés par les wrappers Accounts, sans modifier leur
visibilité externe, sans changer les contrats publics pre.003, sans réécrire le delta historique pre.003.md et sans commencer la famille
Tokens de pre.004.
Version Cargo
Le correctif modifie du Rust de production. Conformément à VER-ID-007 et VER-ID-010 :
0.2.2-pre.3 -> 0.2.2-pre.3.fix.1
Aucune dépendance ni feature Cargo n'est ajoutée ou retirée.
Correction
Dans crates/ksp-onchain-transport-lib/src/lib.rs, les deux réexports internes suivants ne sont plus conditionnés par #[cfg(test)] :
pub(crate) use self::rpc_common::decode_wire_json;
pub(crate) use self::rpc_common::parse_wire_pubkey;
Leurs commentaires sont ajustés pour décrire leur rôle réel dans les adapters RPC typés, et non plus uniquement dans les tests préparatoires.
La visibilité reste strictement pub(crate) :
- aucune nouvelle API publique externe n'est créée ;
rpc_commonreste propriétaire des implémentations ;- les wrappers Accounts peuvent continuer à utiliser la façade interne
crate::...; - aucun callsite Accounts n'est modifié ;
- aucun
#[allow(...)]n'est ajouté.
Fichiers ajoutés
deltas/0.2.2/pre.003-fix.001.md
Fichiers modifiés
Cargo.toml
crates/ksp-onchain-transport-lib/src/lib.rs
Fichiers supprimés
Aucun.
Fichiers volontairement inchangés
deltas/0.2.2/pre.003.md
deltas/0.2.2/pre.002-fix.002.md
docs/plans/009-V0_2_2_HTTP_ACCOUNTS_TOKENS_CLUSTER_PLAN.md
ROADMAP.md
CHANGELOG.md
crates/ksp-onchain-transport-lib/src/rpc_common.rs
crates/ksp-onchain-transport-lib/src/rpc_accounts.rs
crates/ksp-onchain-transport-lib/src/rpc_tokens.rs
crates/ksp-onchain-transport-lib/src/rpc_cluster.rs
crates/ksp-onchain-transport-lib/unit_tests/**
crates/ksp-onchain-transport-lib/tests/**
crates/ksp-config-lib/**
config/**
Les deltas déjà publiés restent des traces historiques et ne sont pas réécrits.
Validation ayant déclenché le correctif
Les commandes suivantes ont été exécutées par l'utilisateur sur 0.2.2-pre.003 :
cargo fmt --all : exécuté
cargo check --workspace : ÉCHEC E0425
cargo clippy --workspace --all-targets : ÉCHEC E0425
cargo test -p ksp-onchain-transport-lib : ÉCHEC E0425
Les erreurs concernent douze usages production dans rpc_accounts.rs. Les deux symboles absents sont :
crate::decode_wire_json
crate::parse_wire_pubkey
Le compilateur confirme que leurs réexports existent dans lib.rs, mais sont configurés hors build normal par #[cfg(test)].
Contrôles statiques effectués pendant la préparation du fix
decode_wire_jsonreste défini production-live dansrpc_common.rs;parse_wire_pubkeyreste défini production-live dansrpc_common.rs;- seuls leurs deux réexports crate-private perdent
#[cfg(test)]; - leur visibilité reste
pub(crate); - les douze callsites
rpc_accounts.rsrestent inchangés ; - aucun
#[allow(dead_code)]ou autre suppression de lint n'est ajouté ; - aucun wrapper Token/Cluster supplémentaire n'est activé ;
- aucune dépendance, feature ou configuration n'est modifiée ;
workspace.package.versionvaut0.2.2-pre.3.fix.1;- le delta
pre.003.mdreste inchangé.
Validations du correctif non exécutées dans le sandbox
Le sandbox de préparation ne fournit pas la toolchain Cargo utilisée par le checkout opérateur. Les validations Rust du présent fix ne sont donc pas déclarées réussies.
Après application, exécuter :
cargo fmt --all
cargo check --workspace
cargo clippy --workspace --all-targets
cargo test -p ksp-onchain-transport-lib
Le résultat attendu est une compilation normale des cinq wrappers Accounts, sans les E0425 signalées et sans nouveau warning.
Décisions prises
- promouvoir les deux réexports internes parce qu'ils ont maintenant des consommateurs production réels ;
- conserver
pub(crate)plutôt que d'élargir l'API publique ; - ne pas modifier les douze callsites Accounts alors que leur chemin via la façade interne crate est cohérent ;
- ne pas réintroduire de gating test sur des helpers consommés au runtime ;
- ne pas commencer
pre.004avant validation de ce fix.
Questions ouvertes
Aucune question bloquante.
Suite
Après validation et commit de 0.2.2-pre.003-fix.001, clôturer pre.003 puis poursuivre avec 0.2.2-pre.004 pour les cinq wrappers Tokens.