Files
khadhroony-solana-project/deltas/0.2.9/pre.002-fix.002.md

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.