v0.3.15-pre.008
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/plans/036-V0_3_15_RAW_TRANSACTION_INGEST_DESK_PLAN.md -->
|
||||
<!-- version: 10 -->
|
||||
<!-- version: 11 -->
|
||||
|
||||
# Plan v0.3.15 — Raw Transaction Ingest Desk
|
||||
|
||||
@@ -766,7 +766,30 @@ Le préflight instancie puis détruit immédiatement le contrat source. Il ne fa
|
||||
|
||||
### `pre.008` — Store lifecycle et Start/Stop mono-route
|
||||
|
||||
Ouvrir/réutiliser le Store via `ksp-store-lib`, lancer un Worker pour une route, installer le handle avant publication Running, puis fermer proprement Stop/terminal.
|
||||
Ouvrir/réutiliser le Store via `ksp-store-lib`, lancer un Worker pour une route, installer le handle avant toute projection runtime vers le frontend, puis fermer proprement Stop/terminal.
|
||||
|
||||
La tranche retient les invariants suivants :
|
||||
|
||||
```text
|
||||
Start request logique
|
||||
-> revalidation pre.007 + ressources exactes
|
||||
-> réservation atomique du slot mono-route
|
||||
-> Store::open(settings Config)
|
||||
-> Store::health == Ready
|
||||
-> RawTransactionIngestSettings::with_defaults(network, WorkerId backend-owned)
|
||||
-> RawTransactionIngestWorker::start_with_runtime_resources
|
||||
-> installation handle dans le slot
|
||||
-> accusé IPC sûr Starting/Running
|
||||
|
||||
Stop
|
||||
-> handle.request_stop()
|
||||
-> handle.wait_terminal()
|
||||
-> monitor récupère l'unique Arc<Store>
|
||||
-> Store::close()
|
||||
-> libération slot mono-route
|
||||
```
|
||||
|
||||
Le slot reste occupé pendant le drain terminal et la fermeture Store ; aucun second Start n'est admis durant cette fenêtre. Le frontend ne reçoit ni `WorkerId`, ni handle, ni endpoint, ni URI Store. La terminaison spontanée est nettoyée backend-side mais son streaming vers le frontend reste `pre.010`. Le partage d'un même Store entre plusieurs Workers reste `pre.009`.
|
||||
|
||||
Budget cible : une tranche runtime mono-route.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user