v0.2.1-pre.007
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/plans/008-V0_2_1_ONCHAIN_HTTP_PLAN.md -->
|
||||
<!-- version: 10 -->
|
||||
<!-- version: 11 -->
|
||||
|
||||
# `0.2.1-pre.001` — plan `ksp-onchain-transport-lib` HTTP Solana foundation
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
|
||||
Ce document ouvre `0.2.1` à partir de la base stable fournie `0.2.0` et exécute le gate de sizing imposé par le prompt `006` avant toute grosse implémentation. Sa version initiale appartient à `0.2.1-pre.001`; le split de releases présenté dans cette version du plan est le recalibrage documentaire de `0.2.1-pre.001-fix.001`.
|
||||
|
||||
> **État `pre.007` : candidate de clôture.** La foundation HTTP réduite est fonctionnellement matérialisée ; `pre.007` ajoute les canaries finales, le smoke Devnet opt-in, README/USAGE, la matrice de validation durable et le prompt `0.2.2`. La publication stable reste séparée dans `rel.001` après validations opérateur.
|
||||
|
||||
Conclusion du gate :
|
||||
|
||||
```text
|
||||
@@ -766,7 +768,7 @@ Interdits par défaut :
|
||||
|
||||
Les erreurs `reqwest` utiles sont remappées/réémises via `ksp-logging-lib`; aucun target externe n'est activé globalement par Transport.
|
||||
|
||||
Pendant le développement actif de `0.2.1`, `std.logging.json` conserve sa baseline générale à `info` mais autorise `debug` uniquement pour `ksp-onchain-transport-lib` et route ces événements vers un fichier dédié `transport/onchain/ksp-onchain-transport-debug.log`. La console et `file.all.info` restent à `info`. Ce routage ciblé suit `DEP-LOG-012` et évite de placer tout le profil en `debug`. Conformément à `KSP-APP-031`, la dernière tranche de clôture réévalue cette verbosité et la ramène à `info`/`warn` avant la stable, sauf justification opératoire explicite.
|
||||
Pendant le développement actif jusqu'à `pre.006`, `std.logging.json` autorisait `debug` uniquement pour `ksp-onchain-transport-lib` et routait ces événements vers un fichier dédié. `pre.007` applique `KSP-APP-031` : le target et le sink dédié reviennent à `info`, avec le fichier `transport/onchain/ksp-onchain-transport.log`. La console et `file.all.info` restent également à `info`. Un développement/correctif futur peut relever temporairement uniquement ce target/sink via Config Desk conformément à `DEP-LOG-012`.
|
||||
|
||||
## 19. Architecture de tests
|
||||
|
||||
@@ -871,15 +873,15 @@ La release peut devenir stable seulement si :
|
||||
|
||||
## 22. Prévision souple des prereleases de la `0.2.1` réduite
|
||||
|
||||
| Tranche | Objectif |
|
||||
|-----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `pre.001` | audit KSP + bot3 + docs officielles, matrice 52+14, architecture, split et sizing |
|
||||
| `pre.002` | **réalisé** : crate/workspace, codes erreur, settings/validation, JSON-RPC, descriptors/status, base Logging |
|
||||
| `pre.003` | **réalisé** : endpoint client + pool logique + rôles/capabilities + priorité/fairness/fallback + snapshots sûrs |
|
||||
| `pre.004` | **réalisé** : RPS/burst/concurrence/cooldown + deadline commune + retry/backoff + classification retry/no-resend |
|
||||
| `pre.005` | **réalisé** : exécution HTTP JSON-RPC + `getHealth`, `getVersion`, `getGenesisHash`, `getBalance` + fixtures déterministes + centralisation des canaries workspace dans Core |
|
||||
| `pre.006` | **réalisé** : `std.transport` schema/document/example + registry Config + adapter Config -> Transport + sensibilité/provenance/env tests |
|
||||
| `pre.007` | completeness/canaries, smoke opt-in, `cargo tree`, README/USAGE, docs finales, prompt `0.2.2`, préparation `rel.001` |
|
||||
| Tranche | Objectif |
|
||||
|-----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `pre.001` | audit KSP + bot3 + docs officielles, matrice 52+14, architecture, split et sizing |
|
||||
| `pre.002` | **réalisé** : crate/workspace, codes erreur, settings/validation, JSON-RPC, descriptors/status, base Logging |
|
||||
| `pre.003` | **réalisé** : endpoint client + pool logique + rôles/capabilities + priorité/fairness/fallback + snapshots sûrs |
|
||||
| `pre.004` | **réalisé** : RPS/burst/concurrence/cooldown + deadline commune + retry/backoff + classification retry/no-resend |
|
||||
| `pre.005` | **réalisé** : exécution HTTP JSON-RPC + `getHealth`, `getVersion`, `getGenesisHash`, `getBalance` + fixtures déterministes + centralisation des canaries workspace dans Core |
|
||||
| `pre.006` | **réalisé** : `std.transport` schema/document/example + registry Config + adapter Config -> Transport + sensibilité/provenance/env tests |
|
||||
| `pre.007` | **réalisé côté livraison candidate** : completeness/canaries, smoke opt-in, README/USAGE, docs finales, prompt `0.2.2`, préparation `rel.001`; `cargo tree`/Cargo restent à valider opérateur |
|
||||
|
||||
Ce découpage est révisable si une tranche dépasse le budget ; la release réduite, contrairement au scope initial, reste raisonnablement clôturable dans la session.
|
||||
|
||||
@@ -972,7 +974,23 @@ Restent à `pre.006` : document/schema/exemple `std.transport`, enregistrement C
|
||||
|
||||
`pre.006-fix.002`, déclenché par l’audit complet du workspace avant clôture, corrige une fuite diagnostique potentielle : les `reqwest::Error` attachées à `ksp_core_lib::Error` sont désormais neutralisées par `without_url()` avant `with_source`, avec une canarie timeout portant un secret dans la query de l’endpoint. Le même audit remet aussi en conformité les fins de ligne des fichiers courants concernés par `GEN-FILE-005` et corrige le rustdoc Transport devenu obsolète après l’introduction de l’adapter Config -> Transport. Les écarts purement documentaires sans impact code/config restent volontairement réservés à `pre.007`.
|
||||
|
||||
Restent à `pre.007` : completeness/canaries finales, smoke réseau opt-in, audit `cargo tree`, README/USAGE, documentation de clôture, prompt `0.2.2` et préparation de `rel.001`.
|
||||
### 22.6 État candidat après `0.2.1-pre.007`
|
||||
|
||||
`pre.007` ferme le périmètre de développement de la foundation sans ajouter de méthode HTTP typed au-delà des quatre canaris :
|
||||
|
||||
- `workspace.package.version = 0.2.1-pre.7` ;
|
||||
- revérification officielle du 2026-08-17 : l’index Solana HTTP courant expose toujours 52 méthodes et la navigation Deprecated conserve les 14 noms historiques audités ;
|
||||
- deux canaries d’intégration publiques figent la partition `52 current / 14 historical / 4-22-11-15` et le set exact des quatre canaris `0.2.1` ;
|
||||
- la candidate déclare **80 tests Transport** et **114 tests Config**, dont un unique smoke Devnet Config `ignored` ;
|
||||
- un smoke Devnet `ignored` sous `ksp-config-lib` valide de manière opt-in la chaîne Config -> `devnet_public` -> Transport -> `getHealth/getGenesisHash/getVersion/getBalance`, sans lecture d’environnement dans Transport ;
|
||||
- `ksp-onchain-transport-lib/README.md` et `USAGE.md` documentent frontières, API raw vs typed, résilience, sécurité, Config et utilisation ;
|
||||
- `docs/validation/003-V0_2_1_ONCHAIN_HTTP.md` devient la matrice durable de clôture ;
|
||||
- le niveau de référence du sink Transport dédié revient de `debug` à `info` avant stable ;
|
||||
- les écarts documentaires résiduels issus de l’audit complet sont normalisés : convention `bindings/gen`, README Config et inventaire composant HTTP ;
|
||||
- `prompts/007-V0_2_2_START_PROMPT.md` prépare `0.2.2 — HTTP Accounts + Tokens + Cluster` avec un nouvel audit officiel et gate de sizing ;
|
||||
- `CHANGELOG.md` n’est pas encore modifié : l’entrée stable `0.2.1` appartient à `rel.001`, conformément au workflow des releases précédentes.
|
||||
|
||||
Les validations Cargo et `cargo tree` de cette candidate doivent être exécutées sur le dépôt canonique. Si elles sont propres, `rel.001` reste strictement publicationnel : version stable, statuts ROADMAP/plan/validation, entrée CHANGELOG, delta de release, commit et tag `v0.2.1`.
|
||||
|
||||
## 23. Séquence `0.2.x` recalibrée
|
||||
|
||||
|
||||
Reference in New Issue
Block a user