v0.2.3-pre.006
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/plans/010-V0_2_3_HTTP_TRANSACTIONS_PLAN.md -->
|
||||
<!-- version: 4 -->
|
||||
<!-- version: 5 -->
|
||||
|
||||
# Plan `0.2.3` — HTTP Transactions
|
||||
|
||||
@@ -589,6 +589,27 @@ Un candidat raisonnable pour la clôture est un smoke Transport pur combinant `g
|
||||
simulation live n'est retenue que si une fixture transactionnelle stable peut être fournie sans déplacer la construction/signature métier dans
|
||||
Transport.
|
||||
|
||||
## Audit rétroactif `KSP-TRANSPORT-007` planifié
|
||||
|
||||
La règle `KSP-TRANSPORT-007` formalise en `pre.005` un principe déjà appliqué dans les audits de `0.2.1` et `0.2.2`, mais elle n'était pas encore un
|
||||
critère de clôture nommé lors de ces releases. Un contrôle rétroactif dédié est donc ajouté avant la clôture documentaire.
|
||||
|
||||
L'audit `pre.008` couvrira au minimum :
|
||||
|
||||
```text
|
||||
4 wrappers foundation de 0.2.1
|
||||
22 wrappers Accounts/Tokens/Cluster de 0.2.2
|
||||
11 wrappers Transactions de 0.2.3
|
||||
```
|
||||
|
||||
Il comparera la surface publique KSP aux paramètres/configs/overloads et formes de réponse des sources normatives courantes retenues. Les syntaxes
|
||||
strictement équivalentes peuvent rester canonicalisées conformément à la règle. Toute possibilité supportée manquante sera corrigée dans cette tranche ;
|
||||
si aucun manque n'est trouvé, la tranche fournira la preuve/canarie d'audit sans modification fonctionnelle artificielle.
|
||||
|
||||
Un contrôle ciblé effectué pendant `pre.006` confirme déjà que les configs structurantes de `0.2.2` (`RpcAccountInfoConfig`,
|
||||
`RpcProgramAccountsConfig`, `RpcLargestAccountsConfig`, `RpcLeaderScheduleConfig`, `RpcGetVoteAccountsConfig`) correspondent aux champs Agave
|
||||
`v4.2.1` exposés par les DTOs KSP. Ce contrôle ne remplace pas l'audit exhaustif `pre.008`.
|
||||
|
||||
## Prévision souple des prereleases
|
||||
|
||||
```text
|
||||
@@ -599,11 +620,14 @@ pre.004 getRecentPrioritizationFees + getSignaturesForAddress + getSignatureSta
|
||||
pre.005 getTransaction moderne + compatibilité legacy + transaction/meta/version wire
|
||||
pre.006 requestAirdrop + sendTransaction + preuves end-to-end no-resend
|
||||
pre.007 simulateTransaction + résultat riche + invariants de config
|
||||
pre.008 réaudit final + canaries + smoke opt-in si pertinent + README/USAGE + validation + prompt 0.2.4
|
||||
pre.008 audit rétroactif KSP-TRANSPORT-007 sur 0.2.1 -> 0.2.3 + remédiations éventuelles
|
||||
pre.009 réaudit final + canaries + smoke opt-in si pertinent + README/USAGE + validation + prompt 0.2.4
|
||||
```
|
||||
|
||||
Une prerelease intermédiaire peut être ajoutée si le volume réel d'une tranche dépasse le budget. La dernière prerelease reste une tranche de
|
||||
clôture documentaire/validation et ne doit pas devenir une implémentation massive tardive.
|
||||
Une prerelease intermédiaire peut être ajoutée si le volume réel d'une tranche dépasse le budget. Après formalisation de `KSP-TRANSPORT-007` en
|
||||
`pre.005`, `pre.008` est désormais réservée à un audit rétroactif explicite des wrappers HTTP déjà livrés depuis `0.2.1`, afin de ne pas transformer la
|
||||
tranche de clôture en remédiation fonctionnelle tardive. La dernière prerelease reste une tranche de clôture documentaire/validation et ne doit pas
|
||||
devenir une implémentation massive tardive.
|
||||
|
||||
## Critères de clôture de `0.2.3`
|
||||
|
||||
@@ -683,3 +707,21 @@ La tranche suivante peut commencer par les primitives wire communes sans réouvr
|
||||
- aucune nouvelle dépendance Cargo et aucun wrapper `0.2.3` activé prématurément.
|
||||
|
||||
La tranche suivante reste `pre.003` : `getFeeForMessage`, `getLatestBlockhash`, `getTransactionCount` et `isBlockhashValid`.
|
||||
|
||||
## Résultat de `pre.006`
|
||||
|
||||
`pre.006` active les deux écritures Transaction sans introduire de chemin de soumission parallèle :
|
||||
|
||||
- `requestAirdrop` expose `Pubkey`, lamports, `commitment` et le `recentBlockhash` encore supporté par Agave `v4.2.1` ;
|
||||
- `sendTransaction` transporte une transaction déjà signée/encodée et expose `base58/base64`, `skipPreflight`, `preflightCommitment`, `maxRetries` et
|
||||
`minContextSlot` ;
|
||||
- `sendTransaction.maxRetries` reste explicitement node-side et ne modifie jamais `HttpRetrySettings` ;
|
||||
- les deux wrappers passent par leur descriptor central `WriteSubmission / NeverAfterDispatch` puis `execute_standard_rpc` ;
|
||||
- les fixtures end-to-end comptent les requêtes et prouvent une seule soumission après HTTP 429, HTTP 503 et timeout après dispatch ;
|
||||
- une connexion refusée classée `NotDispatched` peut encore utiliser la policy centrale de retry/fallback, démontrée pour les deux wrappers ;
|
||||
- les erreurs RPC applicatives, dont un échec de preflight `sendTransaction`, restent des erreurs applicatives sans retry transport ;
|
||||
- aucune dépendance transactionnelle/codec supplémentaire n'est ajoutée ;
|
||||
- `simulateTransaction` reste la seule méthode `0.2.3` non encore activée.
|
||||
|
||||
La prévision est ajustée : `pre.008` devient l'audit rétroactif `KSP-TRANSPORT-007` et la clôture finale est déplacée à `pre.009`.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user