Files
2026-08-18 17:33:46 +02:00

294 lines
7.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- file: deltas/0.2.3/pre.009.md -->
<!-- version: 1 -->
# 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
```