v0.2.2-pre.007
This commit is contained in:
248
deltas/0.2.2/pre.007.md
Normal file
248
deltas/0.2.2/pre.007.md
Normal file
@@ -0,0 +1,248 @@
|
||||
<!-- file: deltas/0.2.2/pre.007.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta `v0.2.2-pre.007`
|
||||
|
||||
## Base
|
||||
|
||||
Base attendue :
|
||||
|
||||
```text
|
||||
v0.2.2-pre.006-fix.001
|
||||
```
|
||||
|
||||
Cette base a été validée localement par l'opérateur le 2026-08-18 avec :
|
||||
|
||||
- `cargo fmt --all` ;
|
||||
- `cargo check --workspace` ;
|
||||
- `cargo clippy --workspace --all-targets` ;
|
||||
- `cargo test -p ksp-onchain-transport-lib`.
|
||||
|
||||
Résultats Transport communiqués :
|
||||
|
||||
```text
|
||||
127 unit tests passed
|
||||
13 public API tests passed
|
||||
6 release completeness tests passed
|
||||
0 warning clippy signalé
|
||||
```
|
||||
|
||||
Version Cargo cible :
|
||||
|
||||
```text
|
||||
0.2.2-pre.7
|
||||
```
|
||||
|
||||
## Objectif
|
||||
|
||||
Fermer la dernière prerelease fonctionnelle de `0.2.2` sans ajouter de nouvelle méthode HTTP :
|
||||
|
||||
- revérifier l'inventaire officiel Solana ;
|
||||
- figer la complétude exacte des 22 wrappers `0.2.2` ;
|
||||
- ajouter un smoke Devnet opt-in **Transport pur** avec settings programmatiques ;
|
||||
- conserver séparément le smoke historique de composition Config -> Transport ;
|
||||
- synchroniser README/USAGE et la documentation d'architecture/planification ;
|
||||
- produire la matrice finale `0.2.2` ;
|
||||
- produire le prompt de démarrage `0.2.3 — HTTP Transactions` ;
|
||||
- préparer un `rel.001` strictement publicationnel.
|
||||
|
||||
Aucun 23e wrapper `0.2.2` et aucune méthode Transactions n'est introduit dans cette tranche.
|
||||
|
||||
## Réaudit officiel final
|
||||
|
||||
La documentation officielle Solana a été revérifiée le 2026-08-18 :
|
||||
|
||||
```text
|
||||
https://solana.com/docs/rpc/http
|
||||
https://solana.com/docs/rpc/deprecated/confirmtransaction
|
||||
```
|
||||
|
||||
L'index courant contient toujours :
|
||||
|
||||
```text
|
||||
52 méthodes HTTP courantes
|
||||
14 méthodes historiques Deprecated
|
||||
```
|
||||
|
||||
Les familles restent :
|
||||
|
||||
```text
|
||||
Accounts : 6 current
|
||||
Tokens : 5 current
|
||||
Cluster : 15 current
|
||||
```
|
||||
|
||||
En retranchant les quatre canaris `0.2.1` (`getBalance`, `getGenesisHash`, `getHealth`, `getVersion`), la partition `0.2.2` reste exactement `5 + 5 + 12 = 22`. Aucun recalibrage n'est nécessaire.
|
||||
|
||||
## Canaries de complétude
|
||||
|
||||
`tests/release_completeness.rs` gagne un canary final qui fige depuis l'API publique :
|
||||
|
||||
```text
|
||||
V0_2_2 exact set == 22 méthodes du plan 009
|
||||
22 => Stable + Supported + Read + RetrySafe
|
||||
V0_2_3 count == 11
|
||||
V0_2_4 count == 15
|
||||
```
|
||||
|
||||
Les canaries antérieures `52 + 14`, `4 / 22 / 11 / 15`, foundation exacte, Accounts, Tokens et Cluster restent inchangées.
|
||||
|
||||
La candidate attend donc :
|
||||
|
||||
```text
|
||||
127 tests unitaires Transport
|
||||
13 tests public API
|
||||
7 tests release completeness
|
||||
1 smoke Devnet Transport ignored par défaut
|
||||
```
|
||||
|
||||
## Smoke Devnet Transport pur
|
||||
|
||||
Nouveau test :
|
||||
|
||||
```text
|
||||
crates/ksp-onchain-transport-lib/tests/transport_devnet_smoke.rs
|
||||
```
|
||||
|
||||
Contrairement au smoke historique de `0.2.1`, il ne dépend pas de Config :
|
||||
|
||||
```text
|
||||
settings programmatiques
|
||||
-> https://api.devnet.solana.com
|
||||
-> HttpTransportPool
|
||||
-> getAccountInfo(System Program)
|
||||
-> getTokenSupply(mint de l'exemple Devnet officiel courant)
|
||||
-> getEpochInfo
|
||||
-> getVoteAccounts
|
||||
```
|
||||
|
||||
Exécution opt-in :
|
||||
|
||||
```bash
|
||||
cargo test -p ksp-onchain-transport-lib --test transport_devnet_smoke -- --ignored --nocapture
|
||||
```
|
||||
|
||||
Ce smoke appartient durablement à Transport parce qu'il ne valide que Transport. Il reste `ignored` car il dépend d'un réseau externe et d'un état Devnet.
|
||||
|
||||
Le smoke `crates/ksp-config-lib/tests/transport_devnet_smoke.rs` reste séparé et valide uniquement la composition historique :
|
||||
|
||||
```text
|
||||
Config -> Transport -> quatre canaris foundation
|
||||
```
|
||||
|
||||
Il reste transitoire et devra migrer vers une future surface d'intégration/orchestration/demo ; Config ne devient pas la destination générale des smokes cross-crates.
|
||||
|
||||
## Documentation durable
|
||||
|
||||
Mises à jour :
|
||||
|
||||
- README Transport : 26 wrappers typed candidats, répartition 4 + 5 + 5 + 12 et ownership des deux smokes ;
|
||||
- USAGE Transport : exemples typed `0.2.2` et commandes des deux smokes ;
|
||||
- inventaire composant : état candidate `0.2.2` ;
|
||||
- séquence fonctionnelle : `pre.002`–`pre.006` exécutées et `pre.007` candidate ;
|
||||
- plan `009` : état candidate, réaudit final, smoke et préparation stable ;
|
||||
- ROADMAP : `0.2.2` passe à `[/]`, pas à `[X]` avant stable ;
|
||||
- index docs/plans/validation/prompts synchronisés.
|
||||
|
||||
Nouveaux documents :
|
||||
|
||||
```text
|
||||
docs/validation/004-V0_2_2_HTTP_ACCOUNTS_TOKENS_CLUSTER.md
|
||||
prompts/008-V0_2_3_START_PROMPT.md
|
||||
```
|
||||
|
||||
`CHANGELOG.md` n'est volontairement pas modifié dans cette prerelease.
|
||||
|
||||
## Prompt `0.2.3`
|
||||
|
||||
Le prompt suivant cible exactement les 11 méthodes Transactions actuellement affectées à `V0_2_3` :
|
||||
|
||||
```text
|
||||
8 Read / RetrySafe
|
||||
2 WriteSubmission / NeverAfterDispatch
|
||||
1 Simulation / RetrySafe
|
||||
```
|
||||
|
||||
Il impose un nouveau `pre.001` d'audit/sizing et met au premier plan la règle no-resend de `requestAirdrop` et `sendTransaction`.
|
||||
|
||||
## Préparation de `rel.001`
|
||||
|
||||
Si la candidate passe les validations opérateur, `rel.001` doit rester publicationnel :
|
||||
|
||||
```text
|
||||
workspace.package.version -> 0.2.2
|
||||
ROADMAP : 0.2.2 -> [X]
|
||||
CHANGELOG : synthèse stable 0.2.2
|
||||
plan 009 / validation 004 : clôture + preuves opérateur
|
||||
deltas/0.2.2/rel.001.md
|
||||
commit v0.2.2-rel.001
|
||||
tag v0.2.2 après validation du commit
|
||||
```
|
||||
|
||||
Aucun développement fonctionnel nouveau ne doit entrer dans `rel.001`.
|
||||
|
||||
## Fichiers ajoutés
|
||||
|
||||
```text
|
||||
crates/ksp-onchain-transport-lib/tests/transport_devnet_smoke.rs
|
||||
docs/validation/004-V0_2_2_HTTP_ACCOUNTS_TOKENS_CLUSTER.md
|
||||
prompts/008-V0_2_3_START_PROMPT.md
|
||||
deltas/0.2.2/pre.007.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/release_completeness.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/009-V0_2_2_HTTP_ACCOUNTS_TOKENS_CLUSTER_PLAN.md
|
||||
docs/validation/000-README.md
|
||||
prompts/000-README.md
|
||||
```
|
||||
|
||||
Aucun ancien delta et aucun `CHANGELOG.md` ne sont modifiés.
|
||||
|
||||
## Validations exécutées dans la préparation de livraison
|
||||
|
||||
Contrôles statiques exécutés :
|
||||
|
||||
- version Cargo `0.2.2-pre.7` ;
|
||||
- présence exacte des 22 noms dans le canary final ;
|
||||
- fixture live absente des suites par défaut via `#[ignore]` ;
|
||||
- smoke Transport sans dépendance Config ni lecture d'environnement ;
|
||||
- index docs/plans/validation/prompts synchronisés ;
|
||||
- versions de fichiers modifiés incrémentées ;
|
||||
- aucun ajout de dépendance/feature Cargo ;
|
||||
- archive réextraite et comparée au payload préparé.
|
||||
|
||||
Cargo n'est pas disponible dans l'environnement de préparation. Les validations suivantes restent donc à exécuter par l'opérateur sur le dépôt canonique :
|
||||
|
||||
```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
|
||||
```
|
||||
Reference in New Issue
Block a user