v0.3.15-pre.003
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/plans/036-V0_3_15_RAW_TRANSACTION_INGEST_DESK_PLAN.md -->
|
||||
<!-- version: 2 -->
|
||||
<!-- version: 3 -->
|
||||
|
||||
# Plan v0.3.15 — Raw Transaction Ingest Desk
|
||||
|
||||
@@ -191,15 +191,16 @@ Aucun gap Store n'est identifié. L'application ne dépend jamais de `ksp-store-
|
||||
|
||||
## 6. Profils Transport réellement committed
|
||||
|
||||
| Profil/config | Réseau | Surfaces | Secret requis | Committed ? | Observation |
|
||||
|-------------------------|------------------------------|---------------------------------------|-----------------------|----------------------|-------------------------------------------|
|
||||
| `devnet_public` | devnet | HTTP + WS Solana standard | non | oui | pas de capability WS fine aujourd’hui |
|
||||
| `orbitflare_devnet` | devnet | HTTP + WS standard + Yellowstone gRPC | token gRPC secret | conditionnel | profil complet seulement si secret résolu |
|
||||
| `mainnet_public` | mainnet | HTTP + WS Solana standard | non | oui | pas de capability WS fine aujourd’hui |
|
||||
| `mainnet_backfill_pool` | mainnet | plusieurs HTTP + WS standard | selon endpoint/config | oui si profil résolu | priorités/rôles restent Transport-owned |
|
||||
| `publicnode_mainnet` | mainnet | HTTP + WS standard + Yellowstone gRPC | x-token secret | conditionnel | gRPC provider-gated |
|
||||
| `publicnode_testnet` | testnet | HTTP + WS standard + Yellowstone gRPC | x-token secret | conditionnel | gRPC provider-gated |
|
||||
| Helius exemple | mainnet/devnet selon exemple | WS `helius_laserstream` | API key secret | non committed | exemple != profil actif |
|
||||
| Profil/config | Réseau | Surfaces | Secret requis | Committed ? | Observation |
|
||||
|-------------------------|---------|---------------------------------------|-------------------|-------------|-----------------------------------------------------------------|
|
||||
| `devnet_public` | devnet | HTTP + WS Solana standard | non | oui | capabilities stables déclarées ; `Logs` oui ; `Block` non |
|
||||
| `helius_devnet` | devnet | HTTP public + WS Helius | API key Helius | oui | `HeliusTransaction` oui ; `Block`/`Vote` non |
|
||||
| `orbitflare_devnet` | devnet | HTTP + WS standard + Yellowstone gRPC | token gRPC secret | oui | `Logs` déclaré ; gRPC composable seulement si secret résolu |
|
||||
| `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 |
|
||||
|
||||
Conséquences :
|
||||
|
||||
@@ -233,13 +234,13 @@ Le frontend reçoit uniquement la projection sûre de ce modèle. Les ressources
|
||||
|
||||
## 8. Matrice route / capability / Config / Worker
|
||||
|
||||
| Route V1 | Network | Required capability | Optional capability | Config evidence | Worker resource | Composable aujourd’hui ? | Missing contract | Live-testable ? |
|
||||
|-------------------------------|------------------|----------------------------------------------------------------|-------------------------------------------------|-----------------------|-----------------------------------------------|---------------------------------------------------------|--------------------------------------------------|-----------------------------------------------|
|
||||
| `yellowstone-hydrated` | réseau du profil | Yellowstone gRPC Subscribe + HTTP `getTransaction` même réseau | scan HTTP repair si rôle compatible | gRPC + HTTP role | `RawTransactionIngestYellowstoneSource` | oui sur profil complet et secrets résolus | aucun contrat essentiel | provider-gated selon profil |
|
||||
| `standard-logs-hydrated` | réseau du profil | WS Solana standard `logsSubscribe` + HTTP `getTransaction` | scan HTTP repair si rôle compatible | WS + HTTP role | `RawTransactionIngestStandardLogsSource` | non prouvable strictement avant capability WS explicite | Transport + Config + enforcement Worker minimaux | oui, notamment Devnet keyless après extension |
|
||||
| `standard-block-direct` | réseau du profil | WS Solana standard `blockSubscribe` explicitement déclaré | aucune hydration obligatoire | WS capability Block | `RawTransactionIngestStandardBlockSource` | non prouvable aujourd’hui | Transport + Config + enforcement Worker minimaux | seulement endpoint prouvé compatible |
|
||||
| `helius-transaction-hydrated` | réseau du profil | WS Helius `transactionSubscribe` + HTTP `getTransaction` | scan HTTP repair si rôle compatible | Helius WS + HTTP role | `RawTransactionIngestHeliusTransactionSource` | non dans les profils committed actuels | Config data/composite + capability WS explicite | provider-gated Helius |
|
||||
| `http-block-polling` | réseau du profil | HTTP `getSlot` + `getBlocksWithLimit` + `getBlock` | `getTransaction` pour known-reference hydration | HTTP role | `RawTransactionIngestHttpBlockPollingSource` | oui lorsque le rôle résolu annonce les trois méthodes | aucun contrat essentiel | oui sur endpoint public compatible |
|
||||
| Route V1 | Network | Required capability | Optional capability | Config evidence | Worker resource | Composable aujourd’hui ? | Missing contract | Live-testable ? |
|
||||
|-------------------------------|------------------|----------------------------------------------------------------|-------------------------------------------------|---------------------------------|-----------------------------------------------|-----------------------------------------------------------------------------------|------------------------------------------------|--------------------------------------|
|
||||
| `yellowstone-hydrated` | réseau du profil | Yellowstone gRPC Subscribe + HTTP `getTransaction` même réseau | scan HTTP repair si rôle compatible | gRPC + HTTP role | `RawTransactionIngestYellowstoneSource` | oui sur profil complet et secrets résolus | aucun contrat essentiel | provider-gated selon profil |
|
||||
| `standard-logs-hydrated` | réseau du profil | WS Solana standard `logsSubscribe` + HTTP `getTransaction` | scan HTTP repair si rôle compatible | `Logs` + HTTP role | `RawTransactionIngestStandardLogsSource` | oui côté Config sur profils déclarant `Logs` ; enforcement Worker en `pre.004` | enforcement Worker minimal | oui, notamment Devnet keyless |
|
||||
| `standard-block-direct` | réseau du profil | WS Solana standard `blockSubscribe` explicitement déclaré | aucune hydration obligatoire | WS capability `Block` | `RawTransactionIngestStandardBlockSource` | non : aucun profil committed ne déclare `Block` | enforcement Worker minimal + endpoint qualifié | seulement endpoint prouvé compatible |
|
||||
| `helius-transaction-hydrated` | réseau du profil | WS Helius `transactionSubscribe` + HTTP `getTransaction` | scan HTTP repair si rôle compatible | `HeliusTransaction` + HTTP role | `RawTransactionIngestHeliusTransactionSource` | oui côté Config sur `helius_*` si secret résolu ; enforcement Worker en `pre.004` | enforcement Worker minimal | provider-gated Helius |
|
||||
| `http-block-polling` | réseau du profil | HTTP `getSlot` + `getBlocksWithLimit` + `getBlock` | `getTransaction` pour known-reference hydration | HTTP role | `RawTransactionIngestHttpBlockPollingSource` | oui lorsque le rôle résolu annonce les trois méthodes | aucun contrat essentiel | oui sur endpoint public compatible |
|
||||
|
||||
### 8.1 `yellowstone-hydrated`
|
||||
|
||||
@@ -292,7 +293,7 @@ HTTP same-network avec getTransaction
|
||||
commitment confirmed ou finalized
|
||||
```
|
||||
|
||||
Le profil committed stable n'expose actuellement pas cette ressource ; les exemples Helius ne sont pas convertis en disponibilité implicite.
|
||||
Les profils committed `helius_devnet` et `helius_mainnet` déclarent explicitement `HeliusTransaction` et restent conditionnels à la résolution de `KSP_SECRET_HELIUS_API_KEY`. Aucun profil Helius ne déclare `Block` ou `Vote`. Le provider name ne participe pas à cette preuve.
|
||||
|
||||
### 8.5 `http-block-polling`
|
||||
|
||||
@@ -693,6 +694,8 @@ Budget cible : une tranche Transport.
|
||||
|
||||
Étendre le schema/mapping Config pour porter les capabilities WS déclarées et préparer les composites/profils Raw Transaction Ingest Desk cohérents Transport+Store. Aucun frontend.
|
||||
|
||||
**État : implémenté.** Les profils WS committed déclarent désormais leurs capabilities explicitement, deux profils Helius sont committed, et le composite Raw Ingest Desk couple Transport+Store par réseau sans inclure le profil `mainnet_backfill_pool`.
|
||||
|
||||
Budget cible : une tranche Config.
|
||||
|
||||
### `pre.004` — enforcement Worker des capabilities WS
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/validation/032-V0_3_15_RAW_TRANSACTION_INGEST_DESK.md -->
|
||||
<!-- version: 3 -->
|
||||
<!-- version: 4 -->
|
||||
|
||||
# Validation v0.3.15 — Raw Transaction Ingest Desk
|
||||
|
||||
@@ -344,11 +344,11 @@ Le forecast durable est porté par la section 20 du plan `036` sous forme hiéra
|
||||
|
||||
### `pre.002` — Transport WS capability
|
||||
|
||||
Capability WS typed par subscription + tests, sans app.
|
||||
**Statut : réalisé après `pre.002-fix.001`.** Capability WS typed par subscription + tests, sans app. Le gate opérateur du fix passe `cargo check`, Clippy `-D warnings` et la suite Transport complète.
|
||||
|
||||
### `pre.003` — Config capability/composite
|
||||
|
||||
Schema/mapping capabilities WS + composite/profils Raw Ingest Desk.
|
||||
**Statut : réalisé côté assemblage ; gate Cargo opérateur requis.** Schema/mapping capabilities WS + composite/profils Raw Ingest Desk. Les profils standard committed déclarent la surface stable sans `Block`, les profils Helius déclarent explicitement `HeliusTransaction` sans `Block`/`Vote`, et les profils du composite Raw Ingest Desk couplent Transport+Store sur le même réseau.
|
||||
|
||||
### `pre.004` — Worker enforcement
|
||||
|
||||
|
||||
Reference in New Issue
Block a user