v0.2.7-rel.001
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/architecture/004-COMPONENT_INVENTORY.md -->
|
||||
<!-- version: 19 -->
|
||||
<!-- version: 20 -->
|
||||
|
||||
# Inventaire initial des composants KSP
|
||||
|
||||
@@ -27,7 +27,7 @@ Ce document maintient l'inventaire synthétique des composants retenus ou presse
|
||||
| Wallet | `ksp-wallet-lib` | lib | Stable | `0.2.5` | `.kspwallet`, VIEW/OWNER, secrets, signature, import/export |
|
||||
| Wallet Desk | `ksp-app-wallet-desk` | app | Stable | `0.2.6` | Wallet + Config composite + HTTP/balance |
|
||||
| Wallet V2 | `ksp-wallet-lib` | lib | Stable | `0.2.6` | wire/runtime V2 + API default/versionnée + migration explicite |
|
||||
| Standard WS | `ksp-onchain-transport-lib` | lib | Retenu | `0.2.7` | WebSocket Solana complet, sessions/subscriptions |
|
||||
| Standard WS | `ksp-onchain-transport-lib` | lib | Stable | `0.2.7` | WebSocket Solana 18/18, sessions/subscriptions bornées |
|
||||
| Helius WS | `ksp-onchain-transport-lib` | lib | Retenu | `0.2.8` | LaserStream WebSocket comme extension du moteur standard |
|
||||
| Yellowstone | `ksp-onchain-transport-lib` | lib | Pressenti | `0.2.9` | client gRPC standard/provider-neutral |
|
||||
| Off-chain price | `ksp-offchain-transport-lib` | lib | Retenu | `0.2.10` | première abstraction/provider de prix SOL/USD, SOL/EUR |
|
||||
@@ -79,7 +79,7 @@ ksp-data-api
|
||||
|
||||
## Transport
|
||||
|
||||
`ksp-onchain-transport-lib` doit couvrir l'intégralité des opérations documentées de la surface ciblée par chaque release. `0.2.1` stabilise la foundation HTTP et quatre wrappers typés canari, `0.2.2` ajoute 22 wrappers Accounts/Tokens/Cluster et `0.2.3` stabilise les 11 Transactions. La release stable `0.2.4` ajoute les 10 Blocks + 5 Economics et atteint 52/52 méthodes HTTP courantes typées, avec 14/14 historiques Deprecated/Removed conservées pour compliance. Les statuts deprecated/obsolete encore fonctionnels et unstable/experimental restent exposés avec warning runtime KSP.
|
||||
`ksp-onchain-transport-lib` doit couvrir l'intégralité des opérations documentées de la surface ciblée par chaque release. `0.2.1` stabilise la foundation HTTP et quatre wrappers typés canari, `0.2.2` ajoute 22 wrappers Accounts/Tokens/Cluster et `0.2.3` stabilise les 11 Transactions. La release stable `0.2.4` ajoute les 10 Blocks + 5 Economics et atteint 52/52 méthodes HTTP courantes typées, avec 14/14 historiques Deprecated/Removed conservées pour compliance. Les statuts deprecated/obsolete encore fonctionnels et unstable/experimental restent exposés avec warning runtime KSP. La release stable `0.2.7` ajoute le moteur WebSocket Solana standard complet : 9 familles subscribe + 9 unsubscribe typées, sessions physiques explicites, subscriptions logiques, reconnect/resubscribe/backpressure/shutdown bornés et Config Transport V2, sans second composant réseau ni dépendance inverse vers Config.
|
||||
|
||||
La Config standard Transport appartient à `ksp-config-lib`, qui adapte vers les settings publics du transport ; le transport ne dépend jamais de Config.
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/plans/000-README.md -->
|
||||
<!-- version: 55 -->
|
||||
<!-- version: 56 -->
|
||||
|
||||
# Plans KSP
|
||||
|
||||
@@ -22,7 +22,7 @@ Un plan décrit le périmètre, les décisions déjà acquises, les questions ou
|
||||
- [`011-V0_2_4_HTTP_BLOCKS_ECONOMICS_PLAN.md`](011-V0_2_4_HTTP_BLOCKS_ECONOMICS_PLAN.md) — plan historique clôturé de la release stable `0.2.4`, ouvert par `pre.001`, exécuté jusqu’à `pre.009`, complété par le fix documentaire Wallet `pre.009-fix.001` puis publié par `rel.001`; il couvre les 10 Blocks + 5 Economics et la compliance finale `52/52 + 14/14` sous `KSP-TRANSPORT-007`.
|
||||
- [`012-V0_2_5_WALLET_FOUNDATION_PLAN.md`](012-V0_2_5_WALLET_FOUNDATION_PLAN.md) — plan historique clôturé de la release stable `0.2.5 — Wallet foundation`, ouvert par `pre.001`, livré jusqu’à `pre.010`, renforcé par `pre.010-fix.001`–`fix.003` pour Dalek 3 et la normalisation Rust/audit structurel, puis publié par `rel.001`; il couvre `.kspwallet` V1, VIEW/OWNER, crypto, persistence, administration, transfer et compliance.
|
||||
- [`013-V0_2_6_WALLET_DESK_PLAN.md`](013-V0_2_6_WALLET_DESK_PLAN.md) — plan historique clôturé de la release stable `0.2.6 — Wallet Desk`, ouvert par `pre.001`, étendu en `pre.015`–`pre.017` au wire binaire `.kspwallet` V2, aux APIs multi-version et à la migration V1 -> V2, puis fermé par `pre.018`/`fix.001` avec le runtime Tauri packagé et le build final vert avant publication `rel.001`.
|
||||
- [`014-V0_2_7_ONCHAIN_WEBSOCKET_PLAN.md`](014-V0_2_7_ONCHAIN_WEBSOCKET_PLAN.md) — plan candidate de `0.2.7 — WebSocket Solana standard`, ouvert par `pre.001` et exécuté jusqu’à `pre.014`; il conserve l’inventaire officiel 18 méthodes, le modèle session/subscription, le threat model, les preuves de compliance/smoke/dépendances et la préparation de `0.2.8`, avant publication stable `rel.001`.
|
||||
- [`014-V0_2_7_ONCHAIN_WEBSOCKET_PLAN.md`](014-V0_2_7_ONCHAIN_WEBSOCKET_PLAN.md) — plan historique clôturé de la release stable `0.2.7 — WebSocket Solana standard`, ouvert par `pre.001`, exécuté jusqu’à `pre.014`, corrigé documentairement par `pre.014-fix.001` puis publié par `rel.001`; il conserve l’inventaire officiel 18 méthodes, le modèle session/subscription, le threat model, les preuves de compliance/smoke/dépendances et la préparation de `0.2.8`.
|
||||
|
||||
Le `pre.001` de chaque release fonctionnelle peut introduire son propre plan détaillé lorsque la release s'ouvre.
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/plans/002-FUNCTIONAL_RELEASE_SEQUENCE.md -->
|
||||
<!-- version: 81 -->
|
||||
<!-- version: 82 -->
|
||||
|
||||
# Séquence des releases fonctionnelles KSP
|
||||
|
||||
@@ -455,13 +455,13 @@ La tranche historique `pre.014` a traité les défauts visuels/templating observ
|
||||
|
||||
### `0.2.7` — WebSocket Solana standard
|
||||
|
||||
Mission : couvrir exhaustivement la surface WebSocket Solana standard officielle ciblée, avec sessions physiques explicites, subscriptions typées, lifecycle borné, reconnexion/resubscribe déterministes et observabilité sûre. Le plan candidate est [`014-V0_2_7_ONCHAIN_WEBSOCKET_PLAN.md`](014-V0_2_7_ONCHAIN_WEBSOCKET_PLAN.md) et la matrice de compliance candidate est [`../validation/010-V0_2_7_ONCHAIN_WEBSOCKET.md`](../validation/010-V0_2_7_ONCHAIN_WEBSOCKET.md).
|
||||
Mission accomplie : couvrir exhaustivement la surface WebSocket Solana standard officielle ciblée, avec sessions physiques explicites, subscriptions typées, lifecycle borné, reconnexion/resubscribe déterministes et observabilité sûre. Le plan historique clôturé est [`014-V0_2_7_ONCHAIN_WEBSOCKET_PLAN.md`](014-V0_2_7_ONCHAIN_WEBSOCKET_PLAN.md) et la matrice finale est [`../validation/010-V0_2_7_ONCHAIN_WEBSOCKET.md`](../validation/010-V0_2_7_ONCHAIN_WEBSOCKET.md).
|
||||
|
||||
Le gate `0.2.7-pre.001`, audité le 22 août 2026, inventorie exactement 18 opérations WebSocket documentées : 9 subscribe + 9 unsubscribe. `blockSubscribe`, `slotsUpdatesSubscribe` et `voteSubscribe` sont actuellement marquées unstable ; aucune méthode de l'index officiel courant n'est marquée Deprecated.
|
||||
|
||||
Une URL peut avoir plusieurs sessions physiques explicites ; une session peut avoir plusieurs subscriptions. Un pool/scheduler automatique de sessions reste reporté jusqu'à besoin concret. Les IDs de session/subscription KSP sont locaux et stables ; les IDs serveur restent internes et peuvent être remappés après reconnexion.
|
||||
|
||||
La candidate atteint `pre.014` après matérialisation des 9 familles standard, compliance 18/18, composition Config V2, reconnect/resubscribe/backpressure bornés, smoke WebSocket Devnet et audit du graphe Cargo. La publication stable reste réservée à `rel.001`; le prompt `0.2.8` est préparé séparément dans `prompts/013-V0_2_8_START_PROMPT.md`.
|
||||
La candidate atteint `pre.014` après matérialisation des 9 familles standard, compliance 18/18, composition Config V2, reconnect/resubscribe/backpressure bornés, smoke WebSocket Devnet et audit du graphe Cargo. `pre.014-fix.001` renforce uniquement le prompt suivant, puis `0.2.7-rel.001` publie la surface stable sans nouvelle capacité runtime. `prompts/013-V0_2_8_START_PROMPT.md` devient le contrat actif pour `0.2.8` depuis `v0.2.7`.
|
||||
|
||||
### `0.2.8` — Helius LaserStream WebSocket
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<!-- file: docs/plans/014-V0_2_7_ONCHAIN_WEBSOCKET_PLAN.md -->
|
||||
<!-- version: 16 -->
|
||||
<!-- version: 17 -->
|
||||
|
||||
# Plan `0.2.7` — WebSocket Solana standard
|
||||
|
||||
> **Statut : candidate, `0.2.7-pre.014`.** La surface WebSocket standard 18/18, la composition Config V2, les non-régressions HTTP, le lifecycle borné, le smoke WebSocket Devnet et l’audit de dépendances sont validés. `pre.014` ferme la documentation/compliance et prépare le prompt `0.2.8`; seul `rel.001` peut publier `v0.2.7` stable.
|
||||
> **Statut : clôturé et publié par `0.2.7-rel.001`.** La surface WebSocket standard 18/18, la composition Config V2, les non-régressions HTTP, le lifecycle borné, le smoke WebSocket Devnet et l’audit de dépendances sont validés. `pre.014-fix.001` a renforcé uniquement le prompt `0.2.8`; la publication stable ne modifie aucun contrat runtime.
|
||||
|
||||
## 1. Objet et base vérifiée
|
||||
|
||||
@@ -1046,3 +1046,33 @@ cargo clippy --workspace --all-targets
|
||||
```
|
||||
|
||||
`cargo test -p ksp-onchain-transport-lib` puis `cargo test --workspace` font partie du gate final de `pre.014` même si la tranche ne modifie pas le runtime. Les graphes Cargo et le smoke live n’ont pas besoin d’être rejoués si la base appliquée est exactement celle déjà validée en `pre.013`; toute modification ultérieure de dépendances ou du chemin WebSocket les rend de nouveau obligatoires.
|
||||
|
||||
## 25. Clôture stable `0.2.7-rel.001`
|
||||
|
||||
Le checkpoint opérateur du **23 août 2026**, exécuté après application de `0.2.7-pre.014-fix.001`, confirme :
|
||||
|
||||
```text
|
||||
cargo fmt --all OK
|
||||
python3 scripts/audit_rust_workspace_rules.py OK
|
||||
cargo check --workspace OK
|
||||
cargo clippy --workspace --all-targets OK
|
||||
cargo test -p ksp-onchain-transport-lib OK — 309 unit / 36 public API / 24 release completeness
|
||||
cargo test --workspace OK
|
||||
```
|
||||
|
||||
Les smokes live restent ignorés par défaut dans les suites déterministes. Le smoke WebSocket Devnet avait déjà été exécuté explicitement avec succès à `pre.013`; `pre.014` puis `pre.014-fix.001` n'ont modifié ni le chemin WebSocket, ni les dépendances, ni la configuration exécutable. Sa preuve reste donc valide pour la publication.
|
||||
|
||||
`0.2.7-rel.001` ne change que le signal Cargo stable et les statuts/documentations de clôture. La release publie le contrat suivant :
|
||||
|
||||
```text
|
||||
HTTP current/historical = 52 + 14
|
||||
WebSocket standard = 9 subscribe + 9 unsubscribe = 18/18
|
||||
Config = V2 HTTP+WS, lecture V1 HTTP-only conservée
|
||||
sessions = physiques, explicites, multiples par URL
|
||||
subscriptions = logiques, typées, IDs locaux stables
|
||||
reconnect/resubscribe = bornés et déterministes
|
||||
backpressure/shutdown = bornés et isolés
|
||||
provider extensions = hors 0.2.7
|
||||
```
|
||||
|
||||
Le plan est désormais historique clôturé. La suite s'ouvre avec `prompts/013-V0_2_8_START_PROMPT.md` sur le tag stable `v0.2.7`.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/validation/000-README.md -->
|
||||
<!-- version: 19 -->
|
||||
<!-- version: 20 -->
|
||||
|
||||
# Validations KSP
|
||||
|
||||
@@ -18,4 +18,4 @@ Documents :
|
||||
- [`007-V0_2_4_HTTP_FINAL_COMPLIANCE.md`](007-V0_2_4_HTTP_FINAL_COMPLIANCE.md) — matrice finale validée de `0.2.4`, inventaire exact 52 current + 14 Deprecated, preuve typed 52/52, audit SIMD final, `KSP-TRANSPORT-007`, workspace complet et deux smokes Devnet passés avant publication stable.
|
||||
- [`008-V0_2_5_WALLET_SECURITY_COMPLIANCE.md`](008-V0_2_5_WALLET_SECURITY_COMPLIANCE.md) — matrice finale validée de la release stable `0.2.5`, threat model V1, canaris adversariaux, reproduction externe des vecteurs, audit de frontières, normalisation Rust/audit structurel, graphes Cargo et checkpoint final `pre.010-fix.003` vert.
|
||||
- [`009-V0_2_6_WALLET_DESK_COMPLIANCE.md`](009-V0_2_6_WALLET_DESK_COMPLIANCE.md) — matrice finale validée de la release stable `0.2.6`, couvrant Wallet Desk, les wires V1/V2, la migration explicite, le runtime Tauri packagé, les frontières sécurité/ownership et le gate opérateur `pre.018-fix.001` avec build final Linux vert.
|
||||
- [`010-V0_2_7_ONCHAIN_WEBSOCKET.md`](010-V0_2_7_ONCHAIN_WEBSOCKET.md) — matrice candidate de `0.2.7`, ouverte par `pre.001` puis fermée techniquement par `pre.014` : inventaire 9 subscribe + 9 unsubscribe, lifecycle, statuts unstable, compliance 18/18, non-régression HTTP, composition Config, smoke WebSocket Devnet et audit de dépendances sont enregistrés avant `rel.001`.
|
||||
- [`010-V0_2_7_ONCHAIN_WEBSOCKET.md`](010-V0_2_7_ONCHAIN_WEBSOCKET.md) — matrice finale validée de la release stable `0.2.7`, ouverte par `pre.001`, fermée techniquement par `pre.014` puis publiée par `rel.001` : inventaire 9 subscribe + 9 unsubscribe, lifecycle borné, statuts unstable, compliance 18/18, non-régression HTTP 52+14, composition Config V2, smoke WebSocket Devnet et audit de dépendances.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<!-- file: docs/validation/010-V0_2_7_ONCHAIN_WEBSOCKET.md -->
|
||||
<!-- version: 16 -->
|
||||
<!-- version: 17 -->
|
||||
|
||||
# Validation `0.2.7` — WebSocket Solana standard
|
||||
|
||||
> **Statut : matrice candidate, `0.2.7-pre.014`.** La compliance 18/18, le lifecycle borné, la composition Config V2, la non-régression HTTP, le smoke WebSocket Devnet et l’audit de dépendances sont validés. `pre.014` enregistre les preuves finales et la documentation ; la publication stable reste `rel.001`.
|
||||
> **Statut : matrice finale validée, publiée par `0.2.7-rel.001`.** La compliance 18/18, le lifecycle borné, la composition Config V2, la non-régression HTTP, le smoke WebSocket Devnet et l’audit de dépendances sont validés. Le checkpoint opérateur post-`pre.014-fix.001` confirme le workspace avant passage au tag stable.
|
||||
|
||||
## 1. Baseline normative
|
||||
|
||||
@@ -743,3 +743,45 @@ cargo test --workspace vert (**Done opérateur `pre.013`**)
|
||||
README/USAGE synchronisés et réaudités durables (**Done `pre.014`**)
|
||||
prompt 0.2.8 préparé (**Done `pre.014`**)
|
||||
```
|
||||
|
||||
## 12. Clôture `0.2.7-rel.001`
|
||||
|
||||
Preuve opérateur finale fournie le **23 août 2026** après `0.2.7-pre.014-fix.001` :
|
||||
|
||||
```text
|
||||
cargo fmt --all PASS
|
||||
python3 scripts/audit_rust_workspace_rules.py PASS — audits général/export/workspace clean
|
||||
cargo check --workspace PASS
|
||||
cargo clippy --workspace --all-targets PASS
|
||||
cargo test -p ksp-onchain-transport-lib PASS
|
||||
unit 309/309
|
||||
public API 36/36
|
||||
release completeness 24/24
|
||||
HTTP Devnet smoke ignored par défaut
|
||||
WebSocket Devnet smoke ignored par défaut
|
||||
cargo test --workspace PASS
|
||||
```
|
||||
|
||||
Le workspace complet couvre également les canaries Config, Core, Logging, Wallet et les deux Desks. Les tests explicitement operator-only/diagnostic/live restent ignorés par défaut conformément à leur contrat. Aucun échec n'est observé.
|
||||
|
||||
Le smoke WebSocket Devnet explicite de `pre.013` reste la preuve live retenue : `slotSubscribe -> slotNotification -> unsubscribe -> close`. Les changements ultérieurs `pre.014` et `pre.014-fix.001` sont documentaires/versionnés ou documentaires uniquement et ne touchent pas le runtime WebSocket ni le graphe de dépendances.
|
||||
|
||||
Verdict final :
|
||||
|
||||
```text
|
||||
18/18 WebSocket standard accounted PASS
|
||||
9/9 wrappers subscribe publics typés PASS
|
||||
9/9 unsubscribe via handle/registry PASS
|
||||
KSP-TRANSPORT-007 / wire/options PASS
|
||||
reconnect/resubscribe/backpressure/shutdown PASS
|
||||
redaction URL/credential PASS
|
||||
Config V1 backward + V2 WS PASS
|
||||
HTTP 52 current + 14 historical PASS
|
||||
smoke WebSocket Devnet opt-in PASS (pre.013)
|
||||
dependency firewall / graph audit PASS
|
||||
workspace final post-fix PASS
|
||||
README/USAGE PASS
|
||||
prompt 0.2.8 version 2 PASS
|
||||
```
|
||||
|
||||
La matrice est fermée positivement par `0.2.7-rel.001`.
|
||||
|
||||
Reference in New Issue
Block a user