Files
khadhroony-solana-project/deltas/0.2.3/pre.008.md
2026-08-18 16:47:54 +02:00

118 lines
4.0 KiB
Markdown

<!-- file: deltas/0.2.3/pre.008.md -->
<!-- version: 1 -->
# Delta `0.2.3-pre.008` — réaudit rétroactif `KSP-TRANSPORT-007`
## Base requise
```text
0.2.3-pre.007
```
La base opérateur a été validée avec `cargo fmt --all`, `cargo check --workspace`, `cargo clippy --workspace --all-targets` et `cargo test -p ksp-onchain-transport-lib` : 182 tests unitaires, 19 tests public API et 13 tests release completeness passent ; le smoke Devnet Transport reste opt-in/ignored.
## Objectif
Appliquer rétroactivement `KSP-TRANSPORT-007` à tous les wrappers HTTP typés courants livrés depuis `0.2.1`, avant la tranche de clôture finale :
```text
4 Foundation
22 Accounts/Tokens/Cluster
11 Transactions
37 wrappers typés courants
```
L'audit doit détecter toute possibilité RPC supportée mais absente : paramètre, config, overload, forme legacy, contrainte déterministe ou information de réponse significative.
## Audit effectué
Le contrôle croise :
- documentation HTTP Solana courante au 18 août 2026 ;
- Agave `v4.2.1` `rpc.rs` ;
- Agave `v4.2.1` `rpc-client-types/config.rs` ;
- Agave `v4.2.1` `rpc-client-types/response.rs` ;
- Agave `v4.2.1` `transaction-status-client-types/lib.rs` ;
- surfaces publiques et tests KSP existants.
`v4.2.1` reste la génération runtime stable retenue : `v4.2` est recommandée pour adoption générale Mainnet-beta depuis le 10 août 2026 et ses activations Mainnet-beta ont commencé le 17 août 2026. Le `master` Agave est déjà en `4.3.0-alpha` et n'est pas pris comme contrat stable de cette release.
## Verdict
**Aucune remédiation fonctionnelle requise.** Les 37 wrappers couvrent déjà toute la surface sémantique supportée retenue par l'audit.
Le réaudit confirme notamment les extensions KSP qui vont au-delà de certaines pages publiques mais correspondent au runtime Agave : `binary`, `sortResults`, `tokenAccountState`, `clientId`, `inflationRewardsCommissionBps`, `transactionIndex`, `recentBlockhash` et les champs riches de `simulateTransaction`.
La forme bare encoding legacy de `getTransaction` reste distincte et deprecated. Les syntaxes strictement équivalentes restent canonicalisées sans retrait de capacité.
## Modifications
### Version workspace
```text
0.2.3-pre.7 -> 0.2.3-pre.8
```
### Preuve durable
Ajout :
```text
docs/validation/005-V0_2_3_KSP_TRANSPORT_007_RETRO_AUDIT.md
```
La matrice contient 37 lignes, une par wrapper courant typé.
### Validation index
`docs/validation/000-README.md` référence la nouvelle matrice.
### Canarie release
`crates/ksp-onchain-transport-lib/tests/release_completeness.rs` ajoute une canarie dédiée qui :
- sélectionne exactement les descriptors `V0_2_1`, `V0_2_2` et `V0_2_3` ;
- exige exactement 37 méthodes ;
- exige `RuntimeStatus::Supported` ;
- exige `RetrySafe` pour Read/Simulation ;
- exige `NeverAfterDispatch` pour WriteSubmission ;
- vérifie que `getTransaction` conserve le marqueur de forme legacy deprecated.
### Plan
`docs/plans/010-V0_2_3_HTTP_TRANSACTIONS_PLAN.md` enregistre le résultat de `pre.008` et confirme `pre.009` comme tranche de clôture finale.
## Non-modifications intentionnelles
Aucun wrapper, DTO wire/config/result, executor, retry policy, fixture HTTP, dépendance Cargo ou contrat public n'est modifié : l'audit ne révèle aucun manque à corriger.
`CHANGELOG.md` et `ROADMAP.md` restent inchangés ; le changelog reste réservé à la release finale selon les règles du projet.
## Validation opérateur attendue
```bash
cargo fmt --all
cargo check --workspace
cargo clippy --workspace --all-targets
cargo test -p ksp-onchain-transport-lib
```
Résultat attendu après ajout de la canarie :
```text
182 unit tests
19 public API tests
14 release completeness tests
1 smoke Devnet ignored / opt-in
```
## Commit attendu
```text
v0.2.3-pre.008
```
## Suite
`0.2.3-pre.009` : réaudit final, canaries/smoke opt-in si pertinent, README/USAGE, matrice finale, validations complètes, archivage/nettoyage requis et prompt de démarrage `0.2.4 — HTTP Blocks/Economics`.