Files
khadhroony-solana-project/deltas/0.2.2/pre.007.md
2026-08-18 09:48:11 +02:00

7.1 KiB
Raw Blame History

Delta v0.2.2-pre.007

Base

Base attendue :

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 :

127 unit tests passed
13 public API tests passed
6 release completeness tests passed
0 warning clippy signalé

Version Cargo cible :

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 :

https://solana.com/docs/rpc/http
https://solana.com/docs/rpc/deprecated/confirmtransaction

L'index courant contient toujours :

52 méthodes HTTP courantes
14 méthodes historiques Deprecated

Les familles restent :

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 :

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 :

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 :

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 :

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 :

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 :

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.002pre.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 :

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 :

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 :

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

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

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 :

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