Files
khadhroony-solana-project/deltas/0.3.15/pre.008-fix.002.md

60 lines
1.9 KiB
Markdown

<!-- file: deltas/0.3.15/pre.008-fix.002.md -->
<!-- version: 1 -->
# Delta `0.3.15-pre.008-fix.002`
## Objet
Corriger les trois comparaisons de token restantes révélées par le second gate opérateur de `pre.008`, sans modifier le périmètre fonctionnel du runtime mono-route.
## Défaut observé
Après `pre.008-fix.001`, `RouteRuntimeInner` est bien présent et la future Tauri ne conserve plus de `MutexGuard` à travers un `await`. Le compilateur atteint alors les trois gardes de cohérence du slot et signale que leurs bindings sont des références :
```text
&u64 == u64
```
Les patterns concernés inspectent `&inner.slot`. Les bindings `token` / `current` sont donc des `&u64` et doivent être déréférencés pour être comparés aux tokens `u64` détenus par la réservation ou passés aux helpers.
## Correction
Les trois gardes restaurent le déréférencement exact :
```text
*token == reservation.token
*current == token
*current == token
```
Cela couvre respectivement :
- l'activation d'une réservation `Starting` ;
- le rollback d'une réservation `Starting` ;
- la libération d'un slot `Active` arrivé au terminal.
## Périmètre inchangé
Le fix ne modifie aucun contrat de `pre.008` :
- runtime strictement mono-route ;
- même revalidation Start issue de `pre.007` ;
- même ouverture, health et fermeture Store via `ksp-store-lib` ;
- même lancement `RawTransactionIngestWorker::start_with_runtime_resources` ;
- même Stop coopératif ;
- aucun multi-route de `pre.009` ;
- aucun monitoring continu de `pre.010`.
Le delta publié `pre.008-fix.001` reste immuable ; la présente correction supersède uniquement son interprétation erronée des trois bindings de pattern.
## Version
```text
header racine : 610 -> 611
workspace : 0.3.15-pre.8.fix.1 -> 0.3.15-pre.8.fix.2
```
## Gate opérateur
Le gate complet de `pre.008` doit être rejoué après application de ce fix.