2.2 KiB
Delta 0.2.9-pre.002-fix.002 — canari public API sous runtime Tokio
1. Déclencheur
Le second gate opérateur, après pre.002-fix.001, confirme :
cargo fmt --all PASS
audit_rust_workspace_rules.py PASS / clean
cargo check --workspace PASS
cargo clippy --workspace --all-targets PASS
cargo test -p ksp-onchain-transport-lib unit PASS 346/346
public_api FAIL 41/42
dependency canary Core PASS 3/3
Le seul échec restant est le canari :
public_v0_2_9_pre_002_yellowstone_engine_settings_and_lazy_channel_are_available_from_crate_root
Il appelle YellowstoneGrpcChannel::prepare() depuis un #[test] synchrone. Depuis fix.001, prepare() exige volontairement un runtime Tokio actif avant tonic::transport::Endpoint::connect_lazy() ; le canari public API n'avait pas encore été aligné sur cette précondition KSP explicite.
2. Correction
Le test d'intégration devient :
#[tokio::test(flavor = "current_thread")]
async fn public_v0_2_9_pre_002_...
Aucun code N1 de production n'est modifié. En particulier :
YellowstoneGrpcChannel::prepare() inchangé
_channel de production conservé
aucun cfg(test) ajouté au channel
aucune dépendance/feature Cargo ajoutée
aucun TLS/metadata/unary anticipé
3. Version
Le correctif touche le code de test et fait partie du signal technique de la prerelease :
workspace.package.version = 0.2.9-pre.2.fix.2
commit attendu = v0.2.9-pre.002-fix.002
4. Validation requise
cargo fmt --all
python3 scripts/audit_rust_workspace_rules.py
cargo check --workspace
cargo clippy --workspace --all-targets
cargo test -p ksp-onchain-transport-lib
cargo test -p ksp-core-lib --test workspace_dependencies
cargo test --workspace
Les graphes Cargo n'ont pas changé avec fix.002; ils ne nécessitent pas une nouvelle inspection structurelle, mais peuvent être relancés si l'opérateur veut conserver une preuve complète du gate final pre.002.