v0.3.15-pre.006-fix.001
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/plans/036-V0_3_15_RAW_TRANSACTION_INGEST_DESK_PLAN.md -->
|
||||
<!-- version: 6 -->
|
||||
<!-- version: 7 -->
|
||||
|
||||
# Plan v0.3.15 — Raw Transaction Ingest Desk
|
||||
|
||||
@@ -199,16 +199,18 @@ Aucun gap Store n'est identifié. L'application ne dépend jamais de `ksp-store-
|
||||
| `mainnet_public` | mainnet | HTTP + WS Solana standard | non | oui | capabilities stables déclarées ; `Logs` oui ; `Block` non |
|
||||
| `helius_mainnet` | mainnet | HTTP public + WS Helius | API key Helius | oui | `HeliusTransaction` oui ; `Block`/`Vote` non |
|
||||
| `mainnet_backfill_pool` | mainnet | plusieurs HTTP + WS standard | selon endpoints | oui | `Logs` déclaré ; profil conservé hors composite Raw Ingest Desk |
|
||||
| `publicnode_mainnet` | mainnet | HTTP + WS standard + Yellowstone gRPC | x-token secret | oui | `Logs` déclaré ; gRPC composable seulement si secret résolu |
|
||||
| `publicnode_testnet` | testnet | HTTP + WS standard + Yellowstone gRPC | x-token secret | oui | `Logs` déclaré ; gRPC composable seulement si secret résolu |
|
||||
| `publicnode_mainnet` | mainnet | HTTP + WS standard + Yellowstone gRPC | x-token secret | oui | source Yellowstone optionnelle du profil applicatif `mainnet` |
|
||||
| `testnet_public` | testnet | HTTP + WS Solana standard | non | oui | socle keyless du profil applicatif `testnet` |
|
||||
| `publicnode_testnet` | testnet | HTTP + WS standard + Yellowstone gRPC | x-token secret | oui | source Yellowstone optionnelle du profil applicatif `testnet` |
|
||||
|
||||
Conséquences :
|
||||
|
||||
```text
|
||||
un fichier sous config/examples/ ne rend aucune route disponible
|
||||
une capability provider documentée sur le Web ne rend aucune route disponible
|
||||
un secret requis mais non résolu rend le profil concerné non composable
|
||||
un secret requis par une source optionnelle ne rend indisponible que la route qui dépend de cette source
|
||||
le Desk ne synthétise pas une capability à partir de provider == helius/publicnode/orbitflare
|
||||
les profils applicatifs du Desk sont des réseaux logiques, pas des providers
|
||||
```
|
||||
|
||||
## 7. Modèle de route V1
|
||||
@@ -726,10 +728,14 @@ Restauration du template Desk KSP clair, bornage de la grille de routes et corre
|
||||
|
||||
Résoudre Config côté Rust et projeter les routes composables/non composables avec raisons sûres et génération d'inventaire, sans endpoint, URL, secret ou source key côté frontend.
|
||||
|
||||
**État : implémenté côté assemblage.** Le Desk ouvre uniquement la dépendance directe `ksp-onchain-transport-lib` nécessaire aux capabilities typées. Le backend énumère les profils du composite validé, résout Transport et Store via `ksp-config-lib`, exige un réseau logique unique identique au Store, puis calcule les cinq routes sans I/O réseau. HTTP est prouvé directement par rôles + `request_kinds` sur les settings typés, sans construire de pool/client ; WS repose sur `WsProtocolKind` + `WsSubscriptionKind`; Yellowstone exige un endpoint gRPC activé. L'inventaire expose profil, réseau, génération, route/state/selectable et reason codes sûrs. Il n'ouvre ni Store, ni session Transport, ni Worker et ne projette aucune ressource physique.
|
||||
**État : implémenté puis corrigé par `pre.006-fix.001`.** Le Desk ouvre uniquement la dépendance directe `ksp-onchain-transport-lib` nécessaire aux capabilities typées. Le composite applicatif est réseau-centrique (`devnet`, `mainnet`, `testnet`) et peut référencer plusieurs profils Transport du même réseau. Le backend agrège leurs capabilities sans inférer quoi que ce soit du provider : PublicNode Mainnet Yellowstone est donc une capability de `mainnet`, pas un pseudo-réseau ni un profil opérateur séparé. Les sources optionnelles Helius/Yellowstone dont le secret manque ne désactivent que la route qui dépend de cette source. HTTP est prouvé directement par rôles + `request_kinds`, WS par `WsProtocolKind` + `WsSubscriptionKind`, Yellowstone par présence d'un endpoint gRPC activé. Aucun Store, session Transport ou Worker n'est ouvert.
|
||||
|
||||
Budget cible : une tranche composition.
|
||||
|
||||
#### `pre.006-fix.001` — profils réseau-centriques et agrégation des capabilities
|
||||
|
||||
Correction du modèle de classification : les providers redeviennent des sources Transport same-network et le sélecteur applicatif ne porte plus que `devnet`, `mainnet` et `testnet`. Ajout d'un profil `testnet_public` sans secret pour dissocier le Transport standard Testnet de PublicNode Yellowstone. Les canaris d'inventaire utilisent désormais des racines Config committées et un environnement injecté, sans dépendre du Config utilisateur de la machine.
|
||||
|
||||
### `pre.007` — reconstruction Start des ressources Transport
|
||||
|
||||
Revalider Config au Start et reconstruire les ressources Transport exactes nécessaires aux cinq routes, sans lancer encore le Worker. Le choix des endpoints physiques reste Transport-owned.
|
||||
|
||||
Reference in New Issue
Block a user