# Delta `v0.2.3-pre.009` ## Base Base attendue : ```text v0.2.3-pre.008 ``` La base `pre.008` a été validée localement par l'opérateur le 2026-08-18 avec : ```text cargo fmt --all cargo check --workspace cargo clippy --workspace --all-targets cargo test -p ksp-onchain-transport-lib ``` Résultats Transport communiqués : ```text 182 unit tests passed 19 public API tests passed 14 release completeness tests passed 1 smoke live ignored par défaut 0 failure 0 warning clippy signalé ``` La matrice `docs/validation/005-V0_2_3_KSP_TRANSPORT_007_RETRO_AUDIT.md` a été corrigée manuellement par l'opérateur pour réaligner son tableau Markdown avant cette validation. Cette version `2` corrigée constitue la base documentaire de `pre.009` et n'est pas réécrite par ce delta. Version Cargo cible : ```text 0.2.3-pre.9 ``` ## Objectif Amener `0.2.3 — HTTP Transactions` au statut **candidate de clôture** sans ajouter de capacité RPC fonctionnelle : - refaire le dernier contrôle de l'inventaire HTTP officiel ; - figer la surface candidate 37 wrappers typés, dont 11/11 Transactions ; - synchroniser README/USAGE et la documentation durable ; - produire la matrice de clôture `0.2.3` ; - étendre le smoke Devnet Transport pur à trois reads Transactions sans effet de bord ; - préparer le prompt `0.2.4 — HTTP Blocks + Economics + compliance HTTP finale` ; - préparer un `rel.001` strictement publicationnel. `CHANGELOG.md` reste volontairement inchangé jusqu'à `0.2.3-rel.001`. ## Réaudit officiel final La documentation Solana courante a été revérifiée le 2026-08-18 : ```text https://solana.com/docs/rpc/http https://solana.com/docs/rpc/deprecated/confirmtransaction https://solana.com/docs/rpc/json-structures ``` Le résultat reste : ```text 52 méthodes HTTP courantes 14 méthodes historiques Deprecated ``` La partition KSP reste donc : ```text V0_2_1 4 V0_2_2 22 V0_2_3 11 V0_2_4 15 ``` Aucun recalibrage du registre n'est requis. ## Surface candidate `0.2.3` Les 11 wrappers Transactions restent complets conformément au plan et à `KSP-TRANSPORT-007` : ```text getFeeForMessage getLatestBlockhash getRecentPrioritizationFees getSignaturesForAddress getSignatureStatuses getTransaction getTransactionCount isBlockhashValid requestAirdrop sendTransaction simulateTransaction ``` Classification : ```text 8 Read / RetrySafe 2 WriteSubmission / NeverAfterDispatch 1 Simulation / RetrySafe ``` Le réaudit rétroactif `pre.008` reste la preuve que les 37 wrappers typés courants de `0.2.1`–`0.2.3` ne manquent aucune possibilité RPC supportée retenue par l'audit. ## Smoke Devnet Transport pur étendu Le smoke existant reste dans : ```text crates/ksp-onchain-transport-lib/tests/transport_devnet_smoke.rs ``` Il conserve Accounts/Tokens/Cluster et ajoute trois reads Transaction : ```text getLatestBlockhash(finalized) isBlockhashValid(blockhash précédent, finalized) getTransactionCount(finalized) ``` La branche ajoutée est volontairement sans effet de bord : - aucun `requestAirdrop` ; - aucun `sendTransaction` ; - aucune transaction sérialisée nécessaire ; - aucune nouvelle ownership boundary. Les fixtures locales restent les gates déterministes de la surface Transaction complète. Commande opt-in : ```bash cargo test -p ksp-onchain-transport-lib --test transport_devnet_smoke -- --ignored --nocapture ``` ## Documentation de clôture Nouveau document : ```text docs/validation/006-V0_2_3_HTTP_TRANSACTIONS.md ``` Il rassemble : - inventaire 52+14 ; - partition 4/22/11/15 ; - matrice des 11 Transactions ; - sécurité write/simulation ; - complétude `KSP-TRANSPORT-007` ; - canaries déterministes ; - smoke Transport ; - firewall de dépendances ; - commandes de validation de candidate ; - contrat publicationnel `rel.001`. README/USAGE Transport passent de la photographie stable `0.2.2` à la candidate `0.2.3-pre.009` avec 37 wrappers typés et 15 Blocks/Economics restants. ## Prompt `0.2.4` Nouveau prompt : ```text prompts/009-V0_2_4_START_PROMPT.md ``` Il cible exactement : ```text 10 Blocks 5 Economics 15 wrappers V0_2_4 ``` et impose : - nouvel audit officiel/Agave à `pre.001` ; - gate de sizing ; - `KSP-TRANSPORT-007` dès chaque wrapper ; - réutilisation des wires Account/Transaction existants ; - traitement explicite des overloads et legacy, notamment `getBlock` ; - compliance finale 52/52 current + 14/14 historical ; - préparation du prompt `0.2.5 — Wallet foundation` à la clôture. ## Préparation de `rel.001` Si toutes les validations de candidate passent : ```text workspace.package.version -> 0.2.3 ROADMAP : 0.2.3 -> [X] CHANGELOG : synthèse stable 0.2.3 plan 010 / validation 006 : preuves opérateur finales deltas/0.2.3/rel.001.md commit v0.2.3-rel.001 tag stable v0.2.3 après validation ``` Aucun nouveau wrapper, DTO ou comportement runtime ne doit entrer dans `rel.001`. ## Fichiers ajoutés ```text docs/validation/006-V0_2_3_HTTP_TRANSACTIONS.md prompts/009-V0_2_4_START_PROMPT.md deltas/0.2.3/pre.009.md ``` ## Fichiers modifiés ```text Cargo.toml ROADMAP.md crates/ksp-onchain-transport-lib/README.md crates/ksp-onchain-transport-lib/USAGE.md crates/ksp-onchain-transport-lib/tests/transport_devnet_smoke.rs docs/000-README.md docs/architecture/004-COMPONENT_INVENTORY.md docs/plans/000-README.md docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md docs/plans/010-V0_2_3_HTTP_TRANSACTIONS_PLAN.md docs/validation/000-README.md prompts/000-README.md ``` ## Fichiers non modifiés volontairement ```text CHANGELOG.md crates/ksp-onchain-transport-lib/src/ crates/ksp-onchain-transport-lib/unit_tests/ crates/ksp-onchain-transport-lib/tests/public_api.rs crates/ksp-onchain-transport-lib/tests/release_completeness.rs docs/validation/005-V0_2_3_KSP_TRANSPORT_007_RETRO_AUDIT.md ``` Aucune dépendance et aucune feature Cargo ne sont ajoutées. ## Contrôles statiques exécutés pendant la préparation - version Cargo `0.2.3-pre.9` ; - aucune modification de source Rust de production ; - aucune modification du registre RPC ou des wrappers ; - smoke live toujours `#[ignore]` ; - branche Transaction du smoke strictement read-only ; - matrice audit rétroactif opérateur conservée byte-for-byte depuis la base corrigée ; - nouveaux tableaux Markdown alignés ; - index docs/plans/validation/prompts synchronisés ; - aucune nouvelle dépendance/feature ; - archive réextraite puis comparée au payload préparé. Cargo n'est pas disponible dans l'environnement de préparation ; aucune validation Cargo de `pre.009` n'est donc déclarée réussie ici. ## Validations opérateur requises ```bash 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 -p ksp-app-config-desk cargo test --workspace cargo tree -p ksp-onchain-transport-lib cargo tree -p ksp-onchain-transport-lib -d cargo tree -p ksp-onchain-transport-lib -e features cargo tree -p ksp-onchain-transport-lib -e normal cargo tree -p ksp-config-lib cargo tree -p ksp-config-lib -d cargo tree -p ksp-config-lib -e features cargo tree -p ksp-config-lib -e normal cargo test -p ksp-onchain-transport-lib --test transport_devnet_smoke -- --ignored --nocapture cargo test -p ksp-config-lib --test transport_devnet_smoke -- --ignored --nocapture ``` Résultat déterministe Transport attendu avant les smokes live : ```text 182 unit tests 19 public API tests 14 release completeness tests 1 Transport Devnet smoke ignored par défaut ```