0.2.1-pre.1
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
<!-- file: prompts/006-V0_2_1_START_PROMPT.md -->
|
||||
<!-- version: 2 -->
|
||||
<!-- version: 4 -->
|
||||
|
||||
# Prompt de démarrage `0.2.1` — `ksp-onchain-transport-lib` HTTP Solana foundation
|
||||
|
||||
> **Statut : finalisé par `0.2.0-pre.003`.** Utiliser ce prompt uniquement après publication stable/tag `v0.2.0`; toute information externe temporelle doit être revérifiée à l'ouverture de `0.2.1-pre.001`.
|
||||
> **Statut : consommé par `0.2.1-pre.001`.** Le gate de sizing du 2026-08-17 a conclu que le périmètre monolithique décrit ci-dessous n'était pas clôturable raisonnablement dans une seule session. Le plan actif `docs/plans/008-V0_2_1_ONCHAIN_HTTP_PLAN.md` le remplace pour l'exécution : `0.2.1` devient la foundation + 4 canaris, et la couverture HTTP typée exhaustive est répartie sur `0.2.1`–`0.2.6`. Le présent document reste la trace du cahier des charges ayant ouvert l'audit ; ne pas le réutiliser comme prompt d'implémentation monolithique.
|
||||
|
||||
## 1. Contexte de reprise
|
||||
|
||||
@@ -484,12 +484,12 @@ et vérifiant la complétude de la matrice de méthodes si elle peut être autom
|
||||
|
||||
Ne pas ouvrir :
|
||||
|
||||
- WebSocket Solana — `0.2.4` ;
|
||||
- Helius LaserStream WebSocket — `0.2.5` ;
|
||||
- Yellowstone gRPC — `0.2.6` ;
|
||||
- WebSocket Solana — `0.2.9` ;
|
||||
- Helius LaserStream WebSocket — `0.2.10` ;
|
||||
- Yellowstone gRPC — `0.2.11` ;
|
||||
- providers gRPC avancés ;
|
||||
- Wallet — `0.2.2` ;
|
||||
- Wallet Desk — `0.2.3` ;
|
||||
- Wallet — `0.2.7` ;
|
||||
- Wallet Desk — `0.2.8` ;
|
||||
- Store/persistence RAW — `0.3.1` ;
|
||||
- decoders Program ;
|
||||
- `ksp-interface-lib` fonctionnel complet ;
|
||||
@@ -547,60 +547,69 @@ Si la réponse est non ou incertaine, **ne pas commencer la grosse implémentati
|
||||
|
||||
La contrainte de couverture documentaire exhaustive ne doit jamais être contournée en masquant des méthodes pour faire tenir artificiellement la release.
|
||||
|
||||
## 17. Prévision souple initiale des prereleases
|
||||
## 17. Prévision souple recalibrée après le gate `pre.001`
|
||||
|
||||
Cette prévision est un point de départ et doit être recalibrée par `pre.001` à partir de la matrice réelle des méthodes.
|
||||
Le gate a refusé la grosse release HTTP monolithique. La `0.2.1` réduite suit désormais la prévision active du plan `008` :
|
||||
|
||||
### `pre.001` — audit, matrice exhaustive, architecture et sizing
|
||||
|
||||
Aucune grosse implementation.
|
||||
Tranche actuelle, sans grosse implémentation.
|
||||
|
||||
### `pre.002` — crate foundation + settings + JSON-RPC + method descriptors
|
||||
|
||||
Candidat :
|
||||
### `pre.002` — crate foundation + settings + JSON-RPC + descriptors
|
||||
|
||||
- package/workspace ;
|
||||
- contrats settings ;
|
||||
- validation ;
|
||||
- JSON-RPC envelope/error ;
|
||||
- metadata de méthode/status ;
|
||||
- erreurs KSP ;
|
||||
- settings/validation ;
|
||||
- JSON-RPC ;
|
||||
- metadata méthode/statut/runtime/request-form/retry ;
|
||||
- base Logging.
|
||||
|
||||
### Tranches méthodes HTTP
|
||||
### `pre.003` — client/pool/routing
|
||||
|
||||
Répartir les méthodes par familles cohérentes **après inventaire officiel**, par exemple accounts/cluster, blocks/transactions, tokens/economics, write/execution technique ou toute meilleure découpe révélée par la documentation.
|
||||
- endpoint client ;
|
||||
- pool logique ;
|
||||
- rôles/capabilities ;
|
||||
- priorité/fairness/fallback ;
|
||||
- snapshots redacted.
|
||||
|
||||
Aucune de ces tranches ne doit dépasser le budget 15–20 minutes ; ajouter des prereleases si nécessaire **uniquement si la release entière reste clôturable dans la session**.
|
||||
### `pre.004` — résilience
|
||||
|
||||
### Tranche pools/rôles/resilience
|
||||
- rate-limit/burst ;
|
||||
- concurrence ;
|
||||
- cooldown ;
|
||||
- timeout ;
|
||||
- retry/backoff borné ;
|
||||
- classification no-resend des writes futures.
|
||||
|
||||
- pools ;
|
||||
- role matching ;
|
||||
- priority/fallback ;
|
||||
- rate-limit ;
|
||||
- concurrency ;
|
||||
- retry/backoff ;
|
||||
- health/snapshots.
|
||||
### `pre.005` — méthodes canari typées
|
||||
|
||||
### Tranche Config standard
|
||||
- `getBalance` ;
|
||||
- `getGenesisHash` ;
|
||||
- `getHealth` ;
|
||||
- `getVersion` ;
|
||||
- fixtures/tests déterministes.
|
||||
|
||||
- schema/document/example ;
|
||||
- registration/file IDs ;
|
||||
### `pre.006` — Config standard
|
||||
|
||||
- schema/document/example `std.transport` ;
|
||||
- registry/file IDs ;
|
||||
- adapter Config -> Transport ;
|
||||
- env inventory ;
|
||||
- intégration tests.
|
||||
- sensibilité/env ;
|
||||
- integration tests.
|
||||
|
||||
### Dernière prerelease
|
||||
### `pre.007` — clôture
|
||||
|
||||
- matrice de complétude 100 % de la surface ciblée ;
|
||||
- tests ciblés et workspace ;
|
||||
- canaries et matrice 52 current + 14 deprecated historiques ;
|
||||
- tests ciblés/workspace ;
|
||||
- cargo tree audits ;
|
||||
- README/USAGE ;
|
||||
- documentation durable ;
|
||||
- cleanup/TODO ;
|
||||
- prompt `0.2.2` Wallet ;
|
||||
- prompt `0.2.2 — HTTP Accounts + Tokens` ;
|
||||
- préparation `rel.001`.
|
||||
|
||||
Les méthodes typées restantes sont réparties sur `0.2.2`–`0.2.6` et restent toutes présentes dans la matrice du plan `008`.
|
||||
|
||||
## 18. Validation de chaque tranche Rust
|
||||
|
||||
Après toute modification Rust :
|
||||
@@ -624,39 +633,51 @@ Exécuter les `cargo tree` pertinents pour les crates modifiées.
|
||||
|
||||
Ne jamais déclarer une commande réussie si elle n'a pas été exécutée.
|
||||
|
||||
## 19. Critères de clôture `0.2.1`
|
||||
## 19. Critères de clôture `0.2.1` après split
|
||||
|
||||
La release ne peut pas être déclarée stable tant que :
|
||||
|
||||
- `ksp-onchain-transport-lib` existe comme crate KSP propre ;
|
||||
- aucune dépendance Transport -> Config/Store/Program n'existe ;
|
||||
- aucune dépendance Transport -> Config/Store/Program/tracing direct n'existe ;
|
||||
- les settings publics sont documentés ;
|
||||
- le document Config Transport + adapter fonctionnent sans inverser l'ownership ;
|
||||
- toutes les méthodes de la surface HTTP Solana normative ciblée sont présentes dans la matrice ;
|
||||
- toutes les méthodes supportables ciblées sont implémentées ;
|
||||
- deprecated/obsolete encore fonctionnel et unstable/experimental émettent le warning KSP prévu ;
|
||||
- JSON-RPC, erreurs et descriptors centraux fonctionnent ;
|
||||
- le registre contient exactement les 52 méthodes courantes et les 14 méthodes Deprecated historiques auditées ;
|
||||
- le statut runtime `Removed` empêche de présenter les 14 anciennes méthodes comme supportées ;
|
||||
- le mécanisme de warning centralisé sait couvrir les contrats deprecated/unstable supportés, notamment les formes legacy documentées ;
|
||||
- pools/rôles/priority/limites/timeouts/retry retenus sont testés ;
|
||||
- les réponses restent transport/raw-compatible et ne produisent pas des modèles Program/Store ;
|
||||
- aucun secret/provider token n'est loggué ;
|
||||
- `getBalance`, `getGenesisHash`, `getHealth` et `getVersion` sont exposés par une API typée et testés ;
|
||||
- le document Config Transport + adapter fonctionnent sans inverser l'ownership ;
|
||||
- les tests ciblés passent ;
|
||||
- les validations workspace finales passent ;
|
||||
- le graphe de dépendances est audité ;
|
||||
- `README.md` et `USAGE.md` sont complets ;
|
||||
- TODO/hors scope sont fermés ou reportés explicitement ;
|
||||
- le prompt final `0.2.2` est prêt ;
|
||||
- le prompt final `0.2.2 — HTTP Accounts + Tokens` est prêt ;
|
||||
- les 48 méthodes courantes reportées restent affectées explicitement à `0.2.2`–`0.2.6` ;
|
||||
- la release entière a été clôturée dans la session qui l'a ouverte.
|
||||
|
||||
## 20. Release suivante
|
||||
## 20. Release suivante après split
|
||||
|
||||
La release suivante prévue est :
|
||||
|
||||
```text
|
||||
0.2.2 — ksp-wallet-lib / .kspwallet foundation
|
||||
0.2.2 — ksp-onchain-transport-lib / HTTP Accounts + Tokens
|
||||
```
|
||||
|
||||
Elle devra utiliser les fondations N1 mais **ne pas dépendre du transport** pour son cœur cryptographique/format.
|
||||
Elle doit compléter les 5 méthodes Accounts restantes et les 5 méthodes Tokens, après revérification de la documentation officielle actuelle.
|
||||
|
||||
Le transport `0.2.1` sera ensuite composé avec Wallet dans `0.2.3 — ksp-app-wallet-desk` pour afficher notamment le solde réseau du wallet.
|
||||
La suite HTTP reste :
|
||||
|
||||
```text
|
||||
0.2.3 Transactions
|
||||
0.2.4 Blocks
|
||||
0.2.5 Cluster
|
||||
0.2.6 Economics + compliance finale
|
||||
```
|
||||
|
||||
Wallet passe à `0.2.7` et Wallet Desk à `0.2.8`. Le cœur cryptographique/format de Wallet restera indépendant du transport ; Wallet Desk composera ensuite Wallet et la surface HTTP stabilisée.
|
||||
|
||||
## Instruction d'ouverture
|
||||
|
||||
|
||||
Reference in New Issue
Block a user