v0.2.1-pre.006
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/plans/008-V0_2_1_ONCHAIN_HTTP_PLAN.md -->
|
||||
<!-- version: 7 -->
|
||||
<!-- version: 8 -->
|
||||
|
||||
# `0.2.1-pre.001` — plan `ksp-onchain-transport-lib` HTTP Solana foundation
|
||||
|
||||
@@ -876,7 +876,7 @@ La release peut devenir stable seulement si :
|
||||
| `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` | `std.transport` schema/document/example + registry Config + adapter Config -> Transport + sensibilité/env tests |
|
||||
| `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` |
|
||||
|
||||
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.
|
||||
@@ -953,6 +953,23 @@ Restent à `pre.005` : exécution HTTP JSON-RPC réelle et wrappers typés `getH
|
||||
|
||||
Restent à `pre.006` : document/schema/exemple `std.transport`, enregistrement Config, adapter Config -> Transport et tests de sensibilité/provenance/env.
|
||||
|
||||
### 22.5 État après `0.2.1-pre.006`
|
||||
|
||||
`pre.006` matérialise la frontière de configuration standard du Transport sans créer de dépendance inverse :
|
||||
|
||||
- `workspace.package.version = 0.2.1-pre.6` ;
|
||||
- `config/std.transport.json` et `config/schemas/std.transport.schema.json` deviennent des ressources Config gérées, avec `cfg.std.transport` / `schema.std.transport` dans le registry ;
|
||||
- le document standard possède `retry` en global et des `endpoints` par profil ; `devnet_public` est le profil autonome par défaut et `mainnet_public` reste sélectionnable explicitement ;
|
||||
- `config/examples/std.transport.example.json` illustre un pool mixte public/privé, y compris une URL complète provenant d’un `KSP_SECRET_*` ;
|
||||
- `.env.example` inventorie les deux overrides publics standard et l’override secret d’exemple sans committer de credential réel ;
|
||||
- `ksp-config-lib` dépend désormais de `ksp-onchain-transport-lib` dans la direction autorisée Config -> Transport, tandis que le firewall Transport -> Config reste inchangé ;
|
||||
- `ConfigDocumentEngine::load_resolved_transport_config` sélectionne le profil, résout l’environnement, convertit les scalaires `*_ms` en `Duration`, construit les rôles/limites/endpoints puis délègue la validation finale à `HttpTransportSettings::validate()` ;
|
||||
- `ResolvedTransportConfig` conserve le profil, la provenance détaillée et la projection safe, et expose les settings runtime réels ; son `Debug` n’expose pas les URLs secrètes ;
|
||||
- les tests couvrent le document committé, les origines global/profile, la precedence process > `.env`, la provenance JSON Pointer, la redaction `KSP_SECRET_*` et l’échec d’une URL secrète invalide sans fuite de canary ;
|
||||
- `DEP-TRANSPORT-005` explicite maintenant que Config peut dépendre des crates Transport pour posséder les adapters, jamais l’inverse.
|
||||
|
||||
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`.
|
||||
|
||||
## 23. Séquence `0.2.x` recalibrée
|
||||
|
||||
```text
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/rules/RULES_DEPENDENCIES.md -->
|
||||
<!-- version: 14 -->
|
||||
<!-- version: 15 -->
|
||||
|
||||
# Règles des dépendances KSP
|
||||
|
||||
|
||||
Reference in New Issue
Block a user