# Delta `0.2.9-pre.013` — gate technique/live final ## Base requise ```text livraison : 0.2.9-pre.012-fix.001 Cargo : 0.2.9-pre.12 ``` ## Identité de la tranche ```text livraison : 0.2.9-pre.013 Cargo : 0.2.9-pre.13 ``` Cette prerelease applique le couloir technique/live introduit par `pre.012-fix.001`. Elle ne porte aucune réconciliation README/USAGE/plan/validation et aucune finalisation CHANGELOG/ROADMAP/prompt. ## Objectif Fermer les dernières preuves techniques externes de `0.2.9` avant la réconciliation documentaire : ```text smoke PublicNode Mainnet Yellowstone gRPC live inspection du graphe Transport direct inspection des dépendances dupliquées Transport inspection des dépendances dupliquées workspace ``` Le smoke existe déjà dans la base sous : ```text crates/ksp-onchain-transport-lib/tests/yellowstone_publicnode_smoke.rs ``` Il reste opt-in et ne contient aucun secret. `pre.013` ne crée pas un second smoke et ne déplace pas ce test vers Config. ## Vérification externe de l'endpoint Le 2026-08-24, la surface officielle PublicNode expose toujours Solana Mainnet Yellowstone GRPC avec le host/port : ```text solana-yellowstone-grpc.publicnode.com:443 ``` KSP conserve l'URI TLS : ```text https://solana-yellowstone-grpc.publicnode.com:443 ``` Aucun endpoint Testnet n'est ajouté ou déduit dans cette tranche. ## Modifications ```text Cargo.toml workspace.package.version : 0.2.9-pre.12 -> 0.2.9-pre.13 deltas/0.2.9/pre.013.md ajout du gate technique/live et des commandes opérateur ``` Aucun code runtime, test, schema, config, README, USAGE, plan, validation, CHANGELOG, ROADMAP ou prompt n'est modifié. ## Baseline déterministe héritée de `pre.012` Le log opérateur reçu avant l'ouverture de cette tranche confirme : ```text cargo fmt --all PASS Rust workspace audit clean / 0 export candidate Markdown table audit clean cargo check --workspace PASS cargo clippy --workspace --all-targets PASS sans warning Config unit 113/113 Config public API 15/15 Config ownership 5/5 Transport unit 383/383 Transport public API 49/49 Transport release completeness 43/43 Transport doctests 4/4 workspace dependency canary 3/3 cargo test --workspace PASS ``` Le test PublicNode était alors uniquement compilé et listé comme `ignored`; cela ne vaut pas exécution live. ## Gate opérateur `pre.013` ### 1. Gate déterministe après changement de version ```bash cargo fmt --all python3 scripts/audit_rust_workspace_rules.py python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates deltas/0.2.9 cargo check --workspace cargo clippy --workspace --all-targets cargo test -p ksp-onchain-transport-lib cargo test -p ksp-core-lib --test workspace_dependencies ``` Seuils de non-régression : ```text Transport unit 383 minimum Transport public API 49 minimum Transport release completeness 43 minimum Transport doctests 4 minimum workspace dependencies 3 minimum ``` ### 2. Smoke PublicNode Mainnet live ```bash cargo test -p ksp-onchain-transport-lib --test yellowstone_publicnode_smoke -- --ignored --nocapture ``` Le verdict attendu est : ```text 1 passed 0 failed 0 ignored ``` Le test doit démontrer sans credentials : ```text TLS vers PublicNode Mainnet GetVersion réussi GetSlot Confirmed réussi slot > 0 ``` Un échec de compilation, mapping, TLS, protocole ou appel unary imputable à KSP ouvre `pre.013-fix.NNN`. Un échec démontré comme incident externe PublicNode/réseau est documenté comme `EXTERNAL BLOCK` et n'est jamais maquillé en PASS. ### 3. Graphes Cargo finaux ```bash cargo tree -p ksp-onchain-transport-lib cargo tree -p ksp-onchain-transport-lib --duplicates cargo tree --duplicates ``` Points à vérifier : ```text pas de yellowstone-grpc-client runtime pas de dépendance Transport -> Config pas de tracing direct Transport Tonic KSP-owned conservé yellowstone-grpc-proto présent comme proto officiel aucune nouvelle duplication introduite par pre.013 ``` ### 4. Workspace complet Après le smoke et l'inspection des graphes : ```bash cargo test --workspace ``` ## Critère de fermeture `pre.013` est fermée seulement lorsque : ```text gate déterministe vert sans warning smoke PublicNode Mainnet réellement exécuté et vert, ou incident externe précisément établi graphes Cargo inspectés workspace complet vert aucun correctif documentaire de clôture mélangé dans cette tranche ``` La tranche suivante reste : ```text 0.2.9-pre.014 — réconciliation documentaire finale ```