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

49 lines
2.0 KiB
Markdown

<!-- file: deltas/0.3.15/pre.007-fix.002.md -->
<!-- version: 1 -->
# Delta `0.3.15-pre.007-fix.002`
## Objet
Rendre hermétique le canari de reconstruction Start de `pre.007` après le gate de `pre.007-fix.001`.
## Défaut observé
Le test `pre_007_public_standard_profiles_reconstruct_block_and_http_sources_without_network_io` construisait `ConfigManagement` avec `config_management(&[])`. En contexte `cargo test`, cette voie utilise les racines Config par défaut de la machine et non les fichiers Config committés du workspace.
Le test pouvait donc échouer sur `inventory.is_ok()` avant même de vérifier les trois routes standard, alors que le runtime Tauri reconstruisait correctement l'inventaire avec la configuration réellement installée.
## Correction
Le module de test `unit_tests/route_start.rs` utilise désormais un helper `committed_management()` analogue au canari `route_inventory` :
- `CARGO_MANIFEST_DIR` localise le workspace ;
- `ConfigBootstrapOptions::from_paths` force `workspace/config` et `workspace/config/schemas` ;
- `ConfigFileRegistry::defaults()` conserve le registre Config canonique ;
- aucun secret provider n'est injecté artificiellement ;
- les providers optionnels restent fail-closed, tandis que Standard Logs, Standard Block et HTTP Block Polling sont testés sur la configuration committée.
Le même bootstrap hermétique est utilisé par le canari de génération stale afin d'éviter une dépendance accidentelle aux racines Config de l'opérateur.
## Périmètre
Aucun code de production n'est modifié. Les contrats de `pre.007` restent inchangés :
- même requête `profile_id + route_id + inventory_generation + commitment` ;
- même revalidation Config au Start ;
- mêmes reconstructions Transport ;
- aucun `Store::open` ;
- aucune connexion réseau active ;
- aucun lancement de Worker.
## Version
```text
header racine : 607 -> 608
workspace : 0.3.15-pre.7.fix.1 -> 0.3.15-pre.7.fix.2
```
## Gate opérateur
Le gate complet de `pre.007` doit être rejoué après application de ce fix.